如何组织数据库中的大数据?

时间:2015-09-16 04:13:32

标签: mysql database bigdata

我有一些包含大数据的数据库,现在我正在考虑如何组织它们以使其更易于扩展。

我的考虑是:

  1. 安全
  2. 性能
  3. 费用
  4. 一般来说,答案是受欢迎的,因为我仍然没有预料到我的所有问题或可能性风险都会发生,如果你能给我一些建议,它会对我有所帮助。

1 个答案:

答案 0 :(得分:2)

为了对您的问题给出完整的答案,我们需要更多关于数据有多大,复杂程度,用例是什么的信息(例如,您在多个表上进行多次连接,还是主要在一个表上?)。无论如何,这里有一些很好的指针可以帮助你顺利上路。

  1. 如果您希望数据快速增长,我建议您查看基于云的数据库解决方案,而不是投资需要经常更换的物理硬件。基于云的解决方案使您可以更自由地纵向和横向扩展数据库。有专门的云数据库技术,如亚马逊RedShift和最近推出的Aurora,可以随着需求的增长轻松配置。
  2. 为了提高数据库中的性能,您始终可以查看索引和结构中的更改。使用MySQL中的explain语法分析您的查询,并查看查询是否使用临时表或数据扫描,这将减慢速度。将索引添加到用于过滤或合并数据的列会大大提高性能。
  3. 在数据仓库中,您还可以denormalize并预先连接表以提高性能。虽然这会大大增加您的存储使用量,但由于您只使用一个数据表,因此可以提高性能,因为反复进行连接所需的时间不计算在内。
  4. 如果您正在研究将在结构和复杂性方面增长的大量数据集,还有其他非关系数据库技术,例如基于noSQLHadoopCassandra等。环境可能需要您重写大部分应用程序,但在数据变得太大之前,您需要考虑这些事情之前需要考虑的事情。
  5. 修改

    1. @SaïdTahali在评论中指出的隐私和数据安全性。如果由于法律或安全原因您无法在外面托管您的数据,您将需要投资自己的硬件,以满足上述所有内容。