rt,现在发现公司里大伙所有业务几乎全部写 es / redis 这种查找高效索引。
持久化也一律直接面向 es 弄。
不禁开始思考,关系型数据库是不是要被葬送在历史的潮流里了。
毕竟 es 作为搜索引擎,在查找这件事上好像无所不能?
至于描述记录之间的关系,图数据库可以更好的解决这个场景。
就连事务,也可以脱离数据库实现。
怎么回事
别抛开应用场景不谈, 那个好用用那个就行了, 一个大型项目通常有好几个不通类型的数据库为各个部件提供服务,都是很正常的事情,关系型数据库还是有作用的,例如在金融行业,需要数据拥有极高的容灾性和安全性的情况下,还是关系数据库会被选择, 你总不能人家账户余额也给人家用ES/Redis吧?
倒是小项目,用啥数据库其实都无所谓。
持久化能放到es里面嘛,es不是数据提交和存储之间有个时间差的来着
还是看存储引擎,现在留行写LSM读B+这种组合,NoSQL/NewSQL这类的也都建立在KV引擎之上。MySQL如果改进下底层,得效率也能提升很多。
es / redis 只是对有准确值也就是 等于 才能快速搜索, redis是哈希索引,ES是倒排索引。
人家MySQL是B+树,可以实现范围搜索。
再说了,人家mysql基于锁和MVCC实现了事务,你单独事务,自己去单独写锁和MVCC的性能就搞死一大堆并发业务。
可以,大家都说的很有道理,解决了咱的疑惑。
个人感觉,关系型数据库这块的发展方向就是更好的作为业务数据的持久化末端了
好像最后都变成了研究分库分表设计和保证最终一致性啊
heheking 可以,大家都说的很有道理,解决了咱的疑惑。 个人感觉,关系型数据库这块的发展方向就是更好的作为业务数据的持久化末端了 好像最后都变成了研究分库分表设计和保证最终一致性啊
找支持业务横向扩展的,像MongoDB这种,直接加服务器就完事了。
分库分表啥的真的不够智能……