3. Exadata主要技术
3.1 单元分流
在数据库云服务器中,存储并不只是转储存储。存储单元有足够的智能在内部处理某些负载,这样可以减轻数据库节点的工作。此过程被称作单元分流。
3.2 智能扫描
智能扫描是 Exadata最重要的一个功能,它的作用就是把SQL 放在每个Cell 上去运行,然后每个Cell只返回符合条件的数据给数据库,这样就极大的降低了数据库服务器的负载和网络流量,并充分利用了Cell的计算资源和IO资源。
在传统 Oracle 数据库中,当用户选择一行甚至是一行中的单个列时,包含该行的整个数据块都会从磁盘读取到缓冲区缓存,然后从该数据块提取所选的行(在某些情况下是列)并将其提供给用户会话。在数据库云服务器中,大多数类型的访问都采用这一过程,但有几种非常重要的类型却不是这样。直接路径访问(例如全表扫描和全索引扫 描)的过程与此不同。数据库云服务器可以直接从磁盘提取特定行(或列)并将其发送到数据库节点。此功能称为“智能扫描”,可以极大地减少 I/O。
例如有 10 亿行数据,其中只有 1,000 行与您的查询相匹配,但传统数据库中的全表扫描会检索所有数据块并从中筛选出这些行。而智能扫描将只提取这 1,000 行(甚至是这些行中的特定列,如果所请求的是列的话)— 这可能减少 I/O 一千万倍!单元分流支持单元实现此操作。