网站首页 > 文章中心 > 其它

nosql国产替代

作者:小编 更新时间:2023-08-16 19:02:43 浏览量:92人看过

mySQL的替代方案

随着 MySQL 被 Oracle 收购,MySQL 的用户和开发者开始质疑开源数据库的命运,与此同时他们开始寻找替代品.

nosql国产替代-图1

PostgreSQL是一个自由的对象-关系数据库服务器(数据库管理系统).PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC.同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引方法、过程语言.并且,因为许可证的灵活,任何人都可以以任何目的免费使用、修改、和分发 PostgreSQL,不管是私用、商用、还是学术研究使用.

其代表的开源软件如:Membase、MongoDB、Hypertable、Apache Cassandra、CouchDB等. Oracle自 Oracle 10g 后推出对应的免费版.

什么是New SQL?分析NewSQL是如何融合NoSQL和RDBMS两者的优势

NewSQL是对一类现代关系型数据库的统称,这类数据库对于一般的OLTP读写请求提供可横向扩展的性能,同时支持事务的ACID保证.这些系统既拥有NoSQL数据库的扩展性,又保持传统数据库的事务特性.NewSQL重新将"应用程序逻辑与数据操作逻辑应该分离"的理念带回到现代数据库的世界,这也验证了历史的发展总是呈现出螺旋上升的形式.

NoSQL的拥趸普遍认为阻碍传统数据库横向扩容、提高可用性的原因在于ACID保证和关系模型,所以呢NoSQL运动的核心就是放弃事务强一致性以及关系模型,拥抱最终一致性和其它数据模型?(如 key/value,graphs 和Documents).

两个最著名的NoSQL数据库就是Google的BigTable和Amazon的Dynamo,由于二者都未开源,其它组织就开始推出类似的开源替代项目,包括Facebook的 Cassandra (基于BigTable和Dynamo)、PowerSet的 Hbase(基于BigTable).有一些创业公司也加入到这场NoSQL运动中,它们不一定是受BigTable和Dynamo的启发,但都响应了NoSQL的哲学,其中最出名的就是MongoDB.

一些组织,如Google,已经发现他们的许多工程师将过多的精力放在处理数据一致性上,这既暴露了数据库的抽象、又提高了代码的复杂度,这时候要么选择回到传统DBMS时代,用更高的机器配置纵向扩容,要么选择回到中间件时代,开发支持分布式事务的中间件.这两种方案成本都很高,于是NewSQL运动开始酝酿.

NewSQL数据库设计针对的读写事务有以下特点:

①.、耗时短.

也有一些学者认为NewSQL系统是特指实现上使用Lock-free并发控制技术和share-nothing架构的数据库.所有我们认为是NewSQL的数据库系统确实都有这样的特点.

nosql国产替代-图2

elasticsearch可以代替NoSQL吗

但是,还有提升的空间:

① 对于查询单条数据的应用场景来说,我们可以使用ES的路由机制,将同一索引内的具有相同特征(比如具有相同的userid)的文档全部存储于一个节点上,这样我们之后的查询都可以直接定位到这个节点上,而不用将查询广播道所有的节点上;

个人以为Elasticsearch作为内部存储来说还是不错的,效率也基本能够满足,在某些方面替代传统DB也是可以的,前提是你的业务不对操作的事性务有特殊要求;而权限管理也不用那么细,因为ES的权限这块还不完善.由于我们对ES的应用场景仅仅是在于对某段时间内的数据聚合操作,没有大量的单文档请求(比如通过userid来找到一个用户的文档,类似于NoSQL的应用场景),所以能否替代NoSQL还需要各位自己的测试.如果让我选择的话,我会尝试使用ES来替代传统的NoSQL,因为它的横向扩展机制太方便了.

在我的工作过程中,我深切体会到:经验固然是一个很重要的东西,因为它能够帮助我们少走很多弯路,但同时也应该看到经验的另一面——它会变成一个笼子,将我们闭塞其中,使我们错过一些可能更好的解决方案,关键是我们要学会尝试,接触新的世界.

nosql会完全取代关系型数据库吗

不会的,两者的适用场合不一样,到目前为止,关系型数据还未完全替代文件型数据. 有些地方还在用层次型数据库.

NoSQL会取代完全取代关系型数据库吗?

对此,前Google工程师,Milo(本地商店搜索引擎)创始人Ted Dziuba最近发表标题惊人的博客"I Can't Wait for NoSQL to Die",对NoSQL的适用范围进行了分析.他认为,NoSQL也会带来一连串的新问题,并不会成为主流,无法取代关系型数据库.他的理由是:Cassandra等NoSQL数据库在使用上并不方便,比如,修改column family定义时就需要重启.而且NoSQL更适合Google那样的规模,而一般的互联网公司都不是Google,早早地去考虑Google那样的规模的可扩展性,纯粹是浪费时间,存在巨大的商业风险.他还透露,即使在Google,AdWords这样的关键产品也是基于MySQL实现的.他在文中最后表示,NoSQL当然死不了,但是它最终会被边缘化,就像Rails被NoSQL边缘化一样Dziuba的文章因为言辞激烈,在社区里引起了强烈反应.SQL数据库阵营赞同者大有人在.craigslist工程师、著名的MySQL专家Jeremy Zawodny表示,在读此文的时候,不时会心一笑.他说,NoSQL运动只是软件不断进化进程中的正常现象.关系型数据库也会继续发展,MySQL社区不断推出的XtraDB或InnoDB插件, PBXT, Drizzle都是证据.各种技术竞争的结果是,我们获得了更多解决问题的选择.drizzle项目开发者Eric Day也表示,NoSQL有很多值得学习的,但是目前大部分实际项目的最佳选择还是关系型数据库.NoSQL阵营当然不会坐视不理,Cassandra项目组的Eric Evans表示,Dziuba提到Cassandra修改column family定义的问题其实很容易解决.而且,NoSQL并不是要取代MySQL,事实上Twitter仍然在用MySQL.如果关系型数据库能够承担负荷,那就用好了;如果不行,请考虑NoSQL.而德国知名博客Code Monkeyism则嘲笑Dziuba看起来并没有用MySQL做过真实项目,因为MySQL如果没有memcache,基本上无法应付网站项目.他认为,NoSQL将使SQL数据库边缘化,而且一个重要理由恰恰是可以节省DBA的开销.digg的前任首席架构师现在也在创业的Joe Stump说,自己现在的创业项目就是用NoSQL,而且列举了一系列问题挑战SQL阵营.

以上就是土嘎嘎小编为大家整理的nosql国产替代相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章