在 MySQL 中存储和访问庞大数据矩阵的最有效方法
我将在 mysqlDB 中存储大量矩阵数据,存储和访问数据最有效的方法是什么?
获取数据时效率最重要,表不会定期更新。
矩阵大约是 100.000 乘以 1000(将来可能会更大)
id1 value value_id1 id1 value value_id2 id2 value value_id1 id2 value value_id2 . . . id 100.000 value value_id1000 vs value_id1, value_id2, value_id3 ... id 1000 id1 value value value id2 value value value id3 value value value . . . id 100.000
当数据很大时,什么是最有效的,短调用(mysql 查询)还是将数据存储为矩阵?数据会定期使用,因此必须高效地获取数据。
I am going to store a huge amount of matrix data in a mysqlDB what is the most efficient way to store and access the data?
The efficiency is most important when getting the data, the table will not be updated regularly.
The matrix is about 100.000 times 1000 (probably larger in the future)
id1 value value_id1 id1 value value_id2 id2 value value_id1 id2 value value_id2 . . . id 100.000 value value_id1000 vs value_id1, value_id2, value_id3 ... id 1000 id1 value value value id2 value value value id3 value value value . . . id 100.000
When the data is huge what is most efficient, a short call (mysql query) or to have the data stored as a matrix? The data is used regularly so it must be efficient to fetch data.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
既然您说您希望提高获取效率,我将使用以下表格格式
使用矩阵的列和行上的格式和索引,您可以根据需要快速获取任何数据部分。
Since you said you want efficiency in fetching, I would use following table format
Using the format and indexing on column and row of the matrix, you can fetch any data part as fast as you want.
这里有几个相关问题:
密集矩阵的答案似乎可以归结为一个标准化表,其中包含列、行和值的列,如上面 Taesung 所建议的那样,或者执行诸如将原始矩阵中的各个行存储为 blob 之类的操作
HDF5 看起来就是为这类事情而设计的。如果有经验的人可以进一步发表评论,那就太好了。
There are a couple relevant questions here:
The answers for dense matrices seem to boil down to a normalized table with columns for column, row, and value, as suggested by Taesung above, or doing something like storing individual rows from your original matrix as blobs.
HDF5 looks to be made for this sort of thing. It would be great if someone with experience could comment further.