2 u011598529 u011598529 于 2014.11.23 15:02 提问

海量数据存储,查询是如何实现的

数据库 就用 Oracle 吧

11亿条数据在数据中是如何存储的?分物理存储,和逻辑存储两方面阐述

这11亿条数据在数据库是如何实现查询的?分物理查询,和逻辑查询两方面阐述

还是这11亿条数据在计算机是如何存储的?分物理存储,和逻辑存储两方面阐述

这11亿条数据在计算机中是如何查询的?分物理查询,和逻辑查询两方面阐述

项目例会的时候,开发经理提出来的。大家各抒己见!

3个回答

DBA_Huangzj
DBA_Huangzj   Ds   Rxr 2014.12.08 17:56
已采纳

11亿在今时今日已经不能称海量了,一般都要过10t~100T的大小。如果磁盘IO高、内存也不错,单文件直接存也未尝不可。如果担心的话可以把数据库分多文件分布在不同的物理磁盘上。索引和数据分开物理文件。
11亿数据要看你怎么查,每次都查11亿,没什么优化可言,如果是少量查询,可以考虑在合适的地方建索引,并且严格按照SARG写法。

其他问题。。。问得太虚,真要说的话没有几千字说不完

caozhy
caozhy   Ds   Rxr 2014.11.23 21:06

通用数据库存储数据的方式大同小异,换言之,你定义了字段、索引、数据类型、表结构等元数据,就确定了数据存储的方式,不会因为数据是1条或者11亿条而有任何差别。通用数据库的实现在任何一本大学教材上都有介绍,这个不是几句话可以说清楚的。比如说,使用链表+块的形式存储数据,以散列表的形式存储索引,等等。

xyzjmgo
xyzjmgo   2014.11.24 10:16

在建立表的时候,建立分区表,如果有可以的话分区尽可能不建立在同一个磁盘上; 可以根据业务和数据的规律建立组合分区,至于如何建立分区,可以找相关的资料。
可以根据业务的需求建立固化视图,建立好表的索引(建立索引的建议可以找相关的资料),
查询时尽可能指定分区表进行查询
(当跨分区的时候。并且查询常用的时候,可以考虑使用建立固化视图)

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!