我打算用mysql存储我的数据集。
我有大约10 ^ 8(亿)的记录:
ID(int)
,x(float)
,y(float)
,z(float)
,property(float)
。
哪种数据库引擎适合此类数据集InnoDB或MyISAM?或者也许是ndb(我不知道可伸缩性或性能)?
我打算用以下问题查询静态数据集:
选择 getRectagularRegion 或 getPointsInSphere ;
答案 0 :(得分:3)
我假设您正在尝试在3d空间中存储点,然后找到区域内的所有点。
如果有一个非常好的3d空间索引系统内置到数据库中,那么带有大量记录的下划线数据库代码的重要性就不那么重要了。如果没有空间索引,则无法使用wish进行查询。
您还应考虑编写自己的数据存储,因为简单的第3个quod树可能会根据您的点聚集方式为您提供良好的索引 - 但使用“自我”数据库会更少为你工作。
所以我认为您需要调查对数据库中空间索引的支持,而不是询问对大量行的支持。这些天大多数数据库都存储了很多行...
答案 1 :(得分:0)
您的表似乎非常简单,您不需要事务和外键。所以我猜MyISAM比InnoDB更适合。但我想MEMORY可能是你最快的选择。