【发布时间】:2019-06-16 22:18:38
【问题描述】:
如果我们在RDBMS(SQL DB)上实现Key-value类型的NoSql,只创建两列表,没有约束,没有额外的索引等。
它的性能会与 NoSQL DB 相似吗?
【问题讨论】:
标签: sql nosql key-value-store
如果我们在RDBMS(SQL DB)上实现Key-value类型的NoSql,只创建两列表,没有约束,没有额外的索引等。
它的性能会与 NoSQL DB 相似吗?
【问题讨论】:
标签: sql nosql key-value-store
取决于你所说的性能 写? 读? 水平缩放? 托管在哪里?
这个问题很笼统……
【讨论】:
没有。 NOSQL 数据库针对键值查找进行了优化,因此它们自动包含“索引”结构。这很可能是一个哈希表而不是 B 树索引,但想法是一样的。没有索引的 SQL 数据库别无选择,只能进行全表扫描(可能是并行全表扫描),所以 NOSQL 数据库应该更快。
适当的比较是与主键为key 的 SQL 数据库。 NOSQL 数据库的性能应该比 SQL 数据库好一点,因为 NOSQL 数据库 (1) 针对这种特定的使用模式进行了优化,(2) 通常对 ACID 属性更宽松。
但是,键值查找的性能通常不是在不同技术之间进行选择的主要考虑因素。查询负载、事务完整性需求、可伸缩性、恢复要求等其他考虑因素将在任何决策中发挥作用。
【讨论】: