如果我们在关系型数据库(SQL )上实现键值类型的NoSql,只需要创建两列的表,没有约束,没有额外的索引,等等。
它的性能会与NoSQL DB相似吗?
发布于 2019-06-17 06:25:15
取决于你所说的性能写入是什么意思?阅读?水平缩放?托管在哪里?
这个问题很笼统。
发布于 2019-06-17 08:01:48
不是的。NOSQL数据库针对键值查找进行了优化,因此它们自动包含“索引”结构。这可能是一个哈希表,而不是B树索引,但思想是相同的。没有索引的SQL数据库别无选择,只能执行全表扫描(这可能是并行的全表扫描),因此NOSQL数据库应该更快。
适当的比较应该是在key
上使用主键的SQL数据库。NOSQL数据库的性能应该比SQL数据库好一点,因为NOSQL数据库(1)针对这种特定的使用模式进行了优化,(2)通常对ACID属性更加宽松。
但是,在不同技术之间进行选择时,键值查找的性能通常不是驱动因素。其他考虑因素,如查询负载、事务完整性需求、可伸缩性、恢复要求,将在任何决策中发挥作用。
https://stackoverflow.com/questions/56623021
复制相似问题