什么是大表(即Google DataBase设计),我有这样的要求,但我不知道如何设计它。
在Big Table中,如何维护它们之间的关系?
答案 0 :(得分:0)
使用与维护关系的innodb存储引擎创建所有表
根据要求
选择表格字段答案 1 :(得分:-1)
谷歌发布的Big table的论文可能很难阅读。希望我的回答可以帮助你开始理解。
过去,RDBMS按行存储数据,一行记录一行,1,2,3,4,5 .....
然后,如果你想找到记录5,没关系,数据库将在B +树(或类似的东西)中寻找记录5的地址,为你加载它。
但是,噩梦就是当你想获得有列" user = Michael"的记录时,数据库无法查找每条记录以查看用户是否是" Michael&#34 ;
Big Table有不同的存储数据的方式。它通过倒置表存储所有列。当我们想要查找满足" user = Michael"的所有记录时,它通过B +树或散列表将其作为密钥来获取,并获取存储所有记录列表的倒置表的地址令人满意。
可能一个好的起点是Lucene,一个开源的全文搜索引擎,完全实现大表原则。
请注意,倒置表不是RDBMS中基于列的存储。他们是不同的,请记住这一点。