sql - Cassandra 适合作为社交网站的主数据库吗?

标签 sql cassandra relational-database nosql

人们对 Twitter 和 Facebook 等大型网站使用 NoSQL 数据库进行了很多炒作。然而,当我更仔细地研究这个问题时,似乎这个领域的大多数成功公司都在使用数据库技术的组合,使用 MySQL 作为主数据库,然后添加 NoSQL 数据库来添加缓存层等以提高性能。我还听说 Diaspora 最初使用 MongoDB 作为他们的主要数据库,然后不得不切换到关系数据库,因为 Mongo 不适合他们的需求。特别是,我听说表示用户之间的关系确实需要关系数据库或图形数据库。

但是,Spotify 似乎非常重视 Cassandra,它既不是关系数据库,也不是图形数据库。此外,虽然 Spotify 并不以社交网络闻名,但它确实包含一些功能,例如能够关注其他用户并查看他们一直在听哪些歌曲。如果这一切都是用 Cassandra 完成的,也许 Cassandra 非常适合社交网络,甚至代表用户之间的关系?谁能给我对此的任何见解?

编辑:我知道 Cassandra 不支持连接,但是尽管缺乏连接,是否有一种合理的方法可以用 Cassandra 表示社交图?另外,我对社交图谱的 Cassandra 与 SQL 比较特别感兴趣,而对 Cassandra 与图 DB 比较不太感兴趣。

最佳答案

Cassandra 非常适合使用简单的键值或分区内的 bigtable 式切片进行高速写入和读取。

Cassandra 非常不擅长将模型建模为 SQL JOIN 或搜索任意文本。

人们倾向于使用技术组合的原因是,不同的技术是针对不同的问题而设计的 - 针对搜索进行优化的工具(elasticsearch、solr 等)将在搜索类型问题上表现得更好,但不会”不具备从 Cassandra 获得的键/值查找的读/写吞吐量。

关于sql - Cassandra 适合作为社交网站的主数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35002310/

相关文章:

sql - Oracle 中使用 SQL 或 PL/SQL 的 UPDATE 语句仅更新第一个重复行

MySQL:无法创建表(错误号:150)

Cassandra 在启动时不会报告已启动并正在运行

java - Cassandra - JVM OOM 直接缓冲区错误

mysql - 记录行数

relational-database - PostgreSQL 查找包含表名的锁

sql - SQL 结果什么时候可以包含重复项?

mysql - 给定两个表,如何找到关联表中的平均行数?

sql - 与 VARCHAR(450) 相比,NVARCHAR(450) 的复杂 LIKE 查询速度极慢

cassandra - 订购 : Cassandra vs RDBMS