我读到在nosql(例如cassandra)中,数据通常存储为非规范化.例如,请参阅此SO答案或本网站.
例如,如果您有一系列员工和部门,并且您想要执行查询:select * from Emps where Birthdate = '25/04/1975'
那么您必须创建一个列系列birthday_Emps并将每个员工的ID存储为一列.那么你可以在birthday_Emps系列中查询密钥'25/04/1975',并立即获得该日出生的员工的所有ID.您甚至可以将员工详细信息归一化为birthday_Emps,以便您立即拥有员工姓名.
这真的是这样做的吗?
无论何时删除或插入员工,您都必须从birthday_Emps中删除该员工.在另一个例子中,有人甚至说过,有时你会遇到某种情况,一些表中的删除需要100个其他表中的删除.这真的很常见吗?
在应用程序代码中进行连接是否常见?您是否拥有允许您创建预先编写的应用程序以将来自不同查询的数据连接在一起的软件?
是否有处理这些数据模型问题的最佳实践,模式等?
Cassandra是否适合写入和较少读取,而HBASE是否适合随机读写?听说facebook用HBASE替换了Cassandra