首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

浅谈设计“基础”是什么?(二) 市场决定设计还是设计改变市场?

学会如何把准市场需求设计命脉 有人提到了“市场决定设计还是设计改变市场”这个问题,个很现实问题,从业几年来,我曾频繁换过很多不同种类设计公司,快速积累经验同时,也对这个问题感触颇多,同时感到很多人陷入了这个逻辑怪圈...市场决定设计还是设计改变市场? 相信这个问题困扰了千千万万Designer。 我认为这既是相互抵触纠结点,但如果换位思考后,就会发现其实这也是有切合关系转折点。...“设计“市场”而生,“市场”设计”而发展。如果换到积极角度去看,就是互相依赖,共存发展关系。 说通俗些,不要“唯心”认为只有深奥,唯美的,超凡……才叫“设计”。...市场不接受时自有其道理,设计可以分两方面: 一类华丽超凡,这类可以看做艺术品,只被行业内同仁们所欣赏,但是却不会被市场所接受,这是必然; 另一类平凡中带有“韵味”,这类就既是市场需要,也是设计良好作品...这是我近几年最有感触收获,以前刚入行时“初生牛犊不怕虎”,狂妄自我中心设计理论,每次接到设计草率看了几眼设计需求就开始自己“灵感火花设计”,但是结果都是一样,被上司枪毙,被客户枪毙…… 太多太多次挫折后开始反思

36120

我们设计微服务还是小单体

​ 我们设计微服务还是小单体 ​ 在微服务设计和实践中,可能很多人会一致认为:“将单体应用拆分成多少个微服务,微服务设计重点。”...很多人把大量精力花费在如何拆分微服务上,并把微服务设计好坏全部归因于微服务拆分好坏。 可事实真是这样吗?其实并非如此!...这才是微服务设计重点,更是微服务设计时最应该关系问题。 在微服务设计时,很多团队在将集中式单体应用拆分微服务时,单纯按照业务功能将原来单体应用,从一个部署包拆分成多个所谓“微服务”部署包。...在从单体架构向微服务架构演进过程中,我们需要边界清晰微服务呢?还是需要很多很多小单体微服务呢?...我们需要微服务还是小泥球.jpg 随着新需求提出和业务不断发展,这些“小单体微服务”会慢慢膨胀起来,变得错综复杂。

32140
您找到你想要的搜索结果了吗?
是的
没有找到

架构设计出来还是演化出来

今天,我们讨论一个比较抽象的话题,架构到底设计出来还是演化(研发)出来? 昨天还有人给我私信说微服务,说服务多小才算微服务?一看就是理解错了!微服务并不是说把大应用切割成小应用就是微服务了。...当然 Dubbo 脱离 SpringCloud 也是有生态。 最后,我们再来说说,架构设计出来还是演化出来这个问题。这一点也有人议论个半天,其实还是没认清软件开发和盖房子本质区别。...主观上,架构设计出来。客观上,架构演化出来。架构师从一开始,就要有设计出一个好架构主观愿望。这个主观愿望会驱使架构师去深入地了解业务诉求(问题域)。...这个主观愿望会驱使架构师在单体应用阶段就进行良好模块划分设计,努力实现各个模块高内聚、模块间松耦合。将来微服务化打好基础。 但是,业务不断变化,技术团队对业务理解也是不断深入和全面的。...架构师也不能觉得架构设计出来,而期望在一开始就设计出完美架构。在业务发展各个阶段,架构师应该综合考虑团队能力、技术复杂度、投入产出比,让架构设计永远保持合理。

76520

Echo数据库如何设计

Echo 这个项目数据库设计并不复杂,需要我们手动设计只有四张表: 帖子表:discuss_post 评论表:comment 用户表:user 私信表:message 用户表 ?...激活逻辑也很简单,就是检查一下这个链接中用户 id 和激活码是否和数据库中存储一样。 帖子表 ?...status:帖子状态 0 - 正常(默认) 1 - 精华:帖子加精可以使其在热度计算中得到一定加分 2 - 拉黑:管理员删除帖子后,就将这个帖子状态设置拉黑 create_time:帖子发表时间...可能会有同学会问啥不把点赞数量也缓存到帖子表中,因为点赞数量存在 Redis 中,获取点赞数量咱连数据库都不用进,还费劲在这存一份干啥) score:热度 / 分数(用于按照热度排行帖子) ?...也就是说,「某个帖子下所有评论,它们 entity_id 都是这个帖子 id。某条评论下所有回复,它们 entity_id 都是这条评论 id」。)

84821

去中心化在线协作:Feakin 图形协作如何设计

简单来说,协议初衷就是协作而设计。作为一个早期阶段协议,自然没有多大胆量采用。...大量分布式系统相关问题,都可以在数据库相关领域书籍中看到,诸如于《数据密集型应用系统设计》、《数据库系统内幕》。对于我来说,有一些概念,我也是从中现学现用。...主要可用于跨设备同步(如 Apple Notes)、分布式数据库、协作软件、大规模数据存储和处理系统等。 这也是从顶层设计上, OT 与 CRDT 巨大差异之处。...另外一些差异在于 OT 更多针对于文本数据,而 CRDT 则可以针对于文本、任意 JSON 数据。这也就是为什么大量分布式数据库,诸如于 Redis、Riak 会使用它原因。...歪个楼:回顾一下 Git 基本概念 从设计理念上来说,Git 也是一款针对于分布式设计数据库管理” 工具:结合 SHA-1 哈希值来进行对象库(object database)管理,并通过 refs

68420

微服务设计关键难点:微服务架构数据库如何设计

单独数据库: 微服务设计一个关键数据库设计,基本原则是每个服务都有自己单独数据库,而且只有微服务本身可以访问这个数据库。它是基于下面三个原因。...理想设计数据库只有你服务能访问,你也只调用自己数据库数据,所有对别的微服务访问都通过服务调用来实现。...除非你能用服务调用(没有本地只读数据库方式完成所有功能,不然不管你用RPC方式还是事件驱动方式进行微服务集成,上面提到问题都是不可避免。...被一致认可方法叫Saga。它原理事物中每个操作写一个补偿操作(Compensating Transaction),然后在回滚阶段挨个执行每一个补偿操作。...结论: 数据库设计微服务设计一个关键点,基本原则是每个微服务都有自己单独数据库,而且只有微服务本身可以访问这个数据库。微服务之间数据共享可以通过服务调用,或者主、从表方式实现。

3.4K30

Swagger异常定位纪实,不对,还是Swagger本身设计问题

结论及注意事项 当Model作用于请求接收参数时,并且请求类型GET,那么Swagger Ui会自动收集Model所有属性examole参数,因为这个参数字符串类型,所以会做一个类型转换动作。...当字段类型数值类型,又有没手动设置example值,那么Swagger框架拿到个空字符串,强转空字符串就抛异常了。...所以,需要注意就是当DTO作用于GET请求接收参数时,切记给所有的数值类型加上正确example属性 后记 博主认为这里属于一个设计缺陷,而不是我们使用问题。...下面3.x处理方式,虽然example默认值还是“”。但是通过NotBlank判断了下,所以不会触发异常了 为啥不直接升级3.X? 3.x版本既然已经修复了,为啥不直接升级到3.x版本呢?...而在这个版本之前1.5x系列版本是Swagger自己设计api模型。所以代码层上面完全不兼容,升级工作量会非常大。不过,新项目还是推荐使用3.x版本,这个版本api数据更通用。

15020

白话架构设计你阐述什么架构设计,架构设计三大原则是什么

.NET Core实战项目之CMS 第九章 设计篇-白话架构设计 前面两篇文章给大家介绍了我们实战CMS系统数据库设计,源码也已经上传到服务器上了。...软件架构设计一门技术活。所谓技术活,从历史上看,无论瑞士钟表,还是瓦特蒸汽机;无论莱特兄弟发明飞机,还是摩托罗拉发明手机,无一不是越来越精细、越来越复杂。...结构上复杂性存在第二个问题,某个组件改动,会影响关联所有组件,这些被影响组件同样会继续递归影响更多组件。...综合前面的分析,我们可以看到,无论结构复杂性,还是逻辑复杂性,都会存在各种问题,所以架构设计时如果简单方案和复杂方案都可以满足需求,最好选择简单方案。...即使大公司团队,在设计一个新系统架构时,也需要遵循演化原则,而不应该认为团队人员多、资源多,不管什么系统上来就要一步到位,因为业务发展和变化很快,不管多牛团队,也不可能完美预测所有的业务发展和变化路径

1.9K31

数据库概念结构设计方法和步骤_概念结构设计整个数据库

概念结构设计 什么概念结构设计 将需求分析得到用户需求抽象信息结构即概念模型过程就是概念结构设计 概念结构各种数据模型共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定 概念结构设计整个数据库设计关键...实体之间联系在不同局部视图中呈现不同类型 冗余 冗余数据指可由基本数据导出数据 冗余联系指可由其他联系导出联系 冗余数据和冗余联系容易破坏数据库完整性,给数据库维护增加困难...,不存在互相矛盾表达 整体概念结构能准确地反映原来每个视图结构,包括属性、实体及实体间联系 整体概念结构能满足需要分析阶段所确定所有要求 整体概念结构最终还应该提交给用户,征求用户和有关人员意见...,进行评审、修改和优化,然后把它确定下来,作为数据库概念结构,作为进一步设计数据库依据。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

5K50

MYSQL 开发设计硬邦邦VARHCAR 还是JSON TYPE 来处理数据更香

,可以使用JSON, 这里还是建议大量JSON数据,还是要使用MONGODB来处理,一定是稳稳当当,性能不能再好了(当然你需要知道优化点和相关MONGODB一些知识).所以使用MYSQL 提供JSON...写到这里估计有开发同学就该说, 切,有什么不同不还是和我一样....我们来试试到底你 500 1000好,还是我灵活性香 需求: 一个comments字段, 也就是可以输入一些注释信息, 如果注释信息有新需求怎么办,比如你comments 一直输入用户...如果你用后者,那天需求方告诉你,来给我统计一下这一天到底有多少抱怨信息, 或者有多少个表扬, 你是否还需要修改数据库结构,如果这是你程序是不是要问问,你扩展性呢,数据库信息为什么就是死呢...所以一个字段也能玩出花样, 如果你肯思考,深入需求本身如果能发掘一些可能会变化字段,那MYSQL JSON TYPE 其实也是体现你开发人员在数据表方面设计能力一种体现 ,So please be

2.6K11

关系数据库设计理论中,起核心作用_关系数据库设计理论主要包括

关系数据库设计理论 设计一个好关系数据库系统,关键设计一个好数据库模式(数据库逻辑设计问题) 数据库逻辑设计主要解决问题 关系数据库应该组织成几个关系模式 关系模式中包括哪些属性...“不好”数据库设计 举例:学校设计一个关系数据库 关系模式: UN(Sno,Cno,G,Sdept,MN) Sno:描述学生 Sdept:描述系名 MN:描述系主任 Cno:描述课程 G:描述学习成绩...(更新异常) 插入异常(一个系刚成立) 主码记录不能存在与数据库,导致不能进行插入操作 删除异常(一个系学生全部毕业) 删除操作后,一些相关信息无法保存在数据库中 要消除以上...函数依赖指关系R模式所有关系元组均应满足约束条件,而不是关系模式中某个或某些元组满足约束条件 函数依赖与属性间联系类型有关 (1)若属性X和Y之间有“一对一”联系, (2)若属性...规范化理论研究如何把一个不好关系模式转化为好关系模式理论 规范化理论E.E.Codd在1971年首先提出 规范化理论数据库设计过程中一个非常有用辅助工具 范式 简介 规范化理论围绕着范式建立

54730

在做中间件设计时,你如何权衡好利益相关者?| 面向运维,还是面向开发?

也许是因为当时才刚刚开始写作,无论案例,还是措词,都显得极其平庸,总感觉有一肚子话无法倾囊抖出。 又是一年过去了,时间是否虚度?虽然这一年工作场景略显单调,但是却很充实,帮助我取得了更大长进。...也不尽然,增加代理层目的所有现有与将来可能出现处理逻辑与规则(如路由控制、服务降级、协议转换)尽可能放在代理层来实现,并在发布、维护及弹性伸缩、出现故障、冗余时,能够更快更灵活变更,不仅达到技术解耦效果...运维工程师:管理(或维护)系统、主机及产品,通常更关心运营生命周期,不关心制造过程,相比之下,心理素质较高; 从客观叙述可以看到,由于岗位职责不同与视角上差异,无论架构设计还是技术选型,在目标设定之初就容易引起开发与运维之间博弈...先来介绍下故事情节,假设我们公司业务在近几年突飞猛进,从业务视角来看,从‘单业务’发展‘事业部(多条业务)’,从技术视角看,传统关系型数据库已无法承受持续增长性能需求,这个时候我们就需要一个缓存系统来解决当前性能痛点...既面向运维,又面向开发,中间件设计过程中始终追求核心准则,但有时却会因为客观场景、技术债务、硬件环境等原因使其难以兼顾,而我们需要保证设计目标时做出合理权衡,以保障系统持续发展。

28720

知新温故,从知识图谱到图数据库

数据抽取难点在于处理非结构化数据,这回涉及到NLP中相关技术,例如实体命名识别、关系抽取、实体统一、指代消解等等。 知识图谱工程本身还是业务为重心,以数据中心。不要低估业务和数据重要性。 ?...Neo4j确保了在一个事务里面的多个操作同时发生,保证数据一致性。不管采用嵌入模式还是多服务器集群部署,都支持这一特性。 高可用性 图存储可以非常轻松集成到任何一个应用中。...Neo4j编程概要 Neo4j一个嵌入式、基于磁盘、具备完全事务特性Java持久化引擎。主要有三种访问Neo4j数据库方式: 嵌入式 通过指定数据库地址直接访问数据库。...OrientDB主要特点支持多模型对象,支持不同模型,如文档,图形,键/值和真实对象。 GUN一个实时、分布式、嵌入式图形数据库引擎。 曾经关注几种图数据库部分属性对比: ?...图数据库应用 对于在数据捕获设计之后,追求数据驱动运营和决策组织而言,图分析可能最有效竞争优势.因此,图形数据库在社交网络、征信系统等诸多领域有着广泛应用,例如: 实时推荐 主数据管理:组织架构

3.2K51

越来越火数据库究竟是什么

图形数据库一种在线数据库管理系统,具有处理图形数据模型创建,读取,更新和删除(CRUD)操作。 与其他数据库不同,关系在图数据库中占首要地位。...与关系数据库或其他NoSQL数据库相比,图数据库数据模型也更加简单,更具表现力。 图形数据库与事务(OLTP)系统一起使用而构建,并且在设计时考虑了事务完整性和操作可用性。...比如: Neo4J就是属于原生图数据库,它使用后端存储专门Neo4J这种图数据库定制和优化,理论上说能更有利于发挥图数据库性能。...而JanusGraph不是原生图数据库,而将数据存储在其他系统上,比如Hbase。 ① 图存储 一些图数据库使用原生图存储,这类存储经过优化,并且专门为了存储和管理图而设计。...Cypher图查询语言 CypherNeo4j图形查询语言,允许用户存储和检索图形数据库数据。 举例,我们要查找Joe所以二度好友: ?

2.2K30

如何使用neo4j存储树形无限级菜单

那么当数据量超级大时,应该怎么设计才能支持各种各样查询,也能提供良好性能呢? 这个时候用关系型数据库存储肯定不行,超过几十万数据,递归都需要十几或者几十秒遍历时间,这样性能远远不达标的。...而图形数据库出现,则是解决这个问题神器,图形数据库就是为了存储超级复杂依赖关系和提供高效查询性能而应劫而生,比如社交网络,知识图谱,地图最优路径等等。...比如存储从小学到高中课程里面的章节关系和知识点,如果我们用关系型数据库存储, 提供分析查询能力非常有限,只能查某个确定节点父节点,如果想找具体任意一个节点需要递归遍历所有数据,或者想查某一个科目下...图形数据库里面描述数据,通过节点和关系来描述,关系必须有开始节点和结束节点 ,节点和关系都可以有属性。...下面说下将树形菜单,存储到neo4j思路: (1)递归每行数据一个节点,首先插入所有的节点 (2)找到每个节点父节点做为start节点,本身作为end节点,建立起关系 上面的两个步骤既可以分开执行

2.6K60

干货|在选择数据库路上,我们遇到过哪些坑?

MarkLogic 一家企业级模式自由型 XML 数据库公司,该公司还存储文档并提供 JSON 格式。这种数据库无论在上传信息还是执行搜索时,速度都较快,并且模式自由。 ?...因为它是专为连接带有统一资源标识符信息而设计,还拥有一种叫做 SPARQL 标准化查询语言。 简而言之,资源描述框架有关主/谓/宾关系,从下面看得出来,其模型非常简单: ?...即使这样,我们仍然明白,从一开始就要选择合适数据库多么重要,于是我们顶着重重压力,在没有做好充分数据库工作情况下,我们决定尝试图形数据库。...这种宣传缺乏对纯图形操作针对性,让我很是忧心,我们不仅想要做图形,还要做好图形。 发现 Neo4j 然后我们发现了 Neo4jNeo4j 可高度扩展,对节点、关系或索引数量没有限制。...同时 Neo4j 入门也相当简单,这对我们很大诱惑;在使用第三个数据库时,必须得迅速投入运行。 性能表现极佳,扩增也非常广泛,并且只专注于图形用例。

1.3K70

带你发现新大陆之图数据库解密?

下图就是db-engines.com对最近三年来所有数据库种类发展趋势分析结果: ? 看到这里如果以前没有对图数据库有所了解的话可能还是一头雾水,图数据库到底是什么东西!...四、二度人脉推荐实现及对比 相信有一定基础小伙伴都可以很轻松实现一个推荐二度人脉数据库设计和代码实现。...在深度2时(即朋友朋友),假设在一个在线系统中使用,无论关系型数据库还是数据库,在执行时间方面都表现得足够好。...无论音乐还是数据中心管理,无论生物信息还是足球统计,无论网络传感器还是时序交易,图都能对这些数据提供强有力而深入理解。 而关系型数据库对于超出合理规模集合操作普遍表现得不太好。...上文从查找二度人脉角度一步步引出了图形数据库,并简单介绍了其概念。本文主要目的还是以介绍为主,带你认识新技术,而更多使用以及各种图形数据库之间对比,优点缺点,仅仅靠一篇文章完全不够

1.8K20

微服务架构下数据如何存储?有考虑过吗?

不一定所有的微服务都需要有一个底层关系型数据库作为实体对象实例存储。以一个简单电商系统例:“用户微服务”和“商品微服务”都分别需要关系型数据库存储结构化关联数据。...但比如有一个“关联推荐微服务“需要进行用户购买、加购物车、订单、浏览等多维度数据整合,这个服务不能将其他所有订单,用户、商品等服务数据冗余进来,这种场景可以考虑使用图形数据库。...工程师不一定需要掌握所有的 NoSQL 数据库细节,对于不同领域模型设计,能有更多灵感会更好。...开源 Neo4j 可以支持大规模分布式集群图形数据库。一般被广泛用于道路交通应用、SNS 应用等,Neo4j 提供了独特查询语言 CypherQueryLanguage。...列族数据库中目前比较广泛应用有 Hbase,Hbase 基于 Google BigTable 设计思想开源版。

4K10

系统数据库概念结构,逻辑结构,物理结构设计方法_数据库物理独立性

系统概念数据库设计 将需求分析得到用户需求抽象信息结构(即概念模型)过程就是概念结构设计,最后生成模型E-R图。...在修改之后,自己把它分解成了实体-属性图和实体-联系图 虽然布局还是不太好看,不过比第一次清晰了很多,毕竟目的就是用户可以看懂设计想法。...系统逻辑数据库设计 数据库逻辑设计任务把概念设计阶段设计基本E-R图转换为与选用具体机器上DBMS所支持数据模型相符合逻辑结构。...这两种表达应该都是正确。 系统物理数据库设计 物理设计根据数据库管理系统特征,确定数据库物理结构即存储结构。 本模块设计对表结构设计。...下图自己系统一个表结构举例: 可能设计得不太合理,不过结构差不多就是这样。 注:需要表明所使用数据库Mysql或者其他。

1.8K10
领券