SQL到NOSQL的思维转变
1, 索引撑持。联系型数据库创建之初没有想到今日的互联网运用对可扩大性提出如此高的恳求,因而,描绘时首要思索的是简化用户的任务,SQL言语的发生促进数据库接口的标准化,然后构成了Oracle这样的数据库公司并带动了上下游产业链的开展。联系型数据库在单机存储引擎撑持索引,比方Mysql的Innodb存储引擎需求撑持索引,而NOSQL体系的单机存储引擎是朴实的,只需求撑持依据主键的随机读取和规模查询。NOSQL体系在体系层面供给对索引的撑持,比方有一个用户表,主键为user_id,每个用户有许多特色,包罗用户名,相片ID(photo_id),相片URL,在NOSQL体系中若是需求对photo_id树立索引,可以保护一张分布式表,表的主键为
2, 业务并发处置。联系型数据库有一整套的关于业务并发处置的理论,比方锁的粒度是表级,页级仍是行级,多版别并发操控机制MVCC,业务的阻隔等级,死锁检测,回滚,等等。但是,互联网运用大多数的特色都是多读少些,比方读和写的份额是10 : 1,而且很少有杂乱业务需求,因而,一般可以选用更为简略的copy-on-write技能:单线程写,多线程读,写的时分履行copy-on-write,写不影响读效劳。NOSQL体系这样的假定简化了体系的描绘,减少了许多操作的overhead,进步了功能。
3, 动态仍是静态的数据结构。联系型数据库的存储引擎总是一颗磁盘B+树,为了进步功能,可以需求有insert buffer聚合写,query cache缓存读,常常需求完成相似Linux page cache的缓存管理机制。数据库中的读和写是相互影响的,写操作也由于时不时需求将数据flush到磁盘而功能不高。简而言之,联系型数据库存储引擎的数据结构是通用的动态更新的B+树,但是,在NOSQL体系中,比方Bigtable中选用SSTable + MemTable的数据结构,数据先写入到内存的MemTable,到达必定巨细或许超越必定工夫才会dump到磁盘生成SSTable文件,SSTable是只读的。若是说联系型数据库存储引擎的数据结构是一颗动态的B+树,那么SSTable就是一个排好序的有序数组。很明显,完成一个有序数据比完成一个动态B+树且包罗杂乱的并发操控机制要简略高效地多。
4, Join操作。联系型数据库需求在存储引擎层面撑持Join,而NOSQL体系一般依据运用来决议Join完成的方法。举个比方,有两张表:用户表和商品表,每个用户下可以有若干个商品,用户表的主键为
联系型数据库的功能瓶颈往往不在SQL句子解析上,而是在于需求撑持齐备的SQL特性。互联网公司面对的问题是运用对功能和可扩大性恳求很高,而且DBA和开发工程师水平比拟高,可以颠末献身一些接口友好性来交换更好的功能。NOSQL体系的一些描绘,比方颠末宽表完成Join操作,互联网公司的DBA和开发工程师也做过,NOSQL体系仅仅加强了这种束缚。从长远来看,可以总结一套束缚调集,而且界说一个SQL子集,只需求撑持这个SQL子集就可以在不献身可扩大性的前提下撑持比方90%以上的互联网运用。我想,NOSQL技能开展到这一步的时分就算是比拟成熟了,这也是咱们结尾想做的工作。咱们在描绘和运用NOSQL体系的时分也可以恰当转化一下思想,如下:
1, 更大的数据量。许多人在运用Mysql的进程遇到记载条数超越必定值,比方2000W的时分,数据库功能开端下落,这个值的得出往往需求颠末许多的测验。但是,大多数的NOSQL体系可扩大性都比拟好,可以撑持更大的数据量,因而也可以选用一些空间换工夫的做法,比方颠末宽表的方法完成Join。
2, 功能预估愈加简略。联系型数据库由于杂乱的并发操控,insert buffer及相似page cache的读写优化机制,功能预算相对较难,许多时分需求凭仗经历或许颠末测验才干得出体系的功能。然后,NOSQL体系由于存储引擎完成,并发操控机制等相对简略,可以颠末硬件的功能指标在体系描绘之处大致预估体系的功能,功能预估可操作性相对更强
- 1404过错跳转到一个页面,咱们取名叫:missing404.php
- 2JavaScript cookie详解
- 3再次提及贷款风险管理
- 4玩具租赁商城系统需求6
- 5企业建站的重要性
- 6P2P网贷的营销战略特点
- 7网站建设何以做到内容丰富
- 8公司网站建成后应该做些什么?
- 9租赁网站功能介绍
- 10关于编码最佳应用实践
- 11企业站针对用户的优化
- 12评估企业站做的好坏的方法
- 13阅读PHP验证码工具-Securimage
- 14网站策划的重要讨论
- 15网站备案所需材料
- 16玩具租赁商城系统需求1
- 17网站建设之搜索功能强化升级标准
- 18久途教你怎么样经营自己的网站
- 19如何让搜索引擎看到更真实的网页
- 20Asia-Pacific Economic Cooperation 工商咨询理事会亚太中小企业峰会
- 21PHP与XML联手进行网站编程
- 22引领潮流的全新商业模式,四网合一
- 23 企业四网合一网站升级版3
- 24有关,PHP.ini 性能优化
- 25企业网站与其他网站有什么区别和差异呢!
- 26轻型数据库SQLite结合PHP的开发
- 27JavaScript 性能提升技巧
- 28玩具租赁系统功能列表
- 29电子商务网站的下一个掘金点-----O2O
- 30网站优化企业的方法
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼