Now a days Exadata is a buzz word in Database world. So, I decide to simplify What is Exadata It's components and what are four main features of Exadata ?
To understand Exadata, Let's start with Traditional Database System having High Availability (RAC).
Current RAC Environment Setup:
To setup a RAC database Below are the Hardware and Software requirements.
1. Database Nodes or Database Server.
2. Storage Server.
3. Network equipments.
DBA has got Hardware. Next step is to setup Software. Database Administrator has to do following:
1. Eanble SSH between Database Nodes and Storage Server.
2. Real Application Cluster Installation.
3. ASM Installation.
4. Presenting Disks to ASM and creating Disk groups etc.
5. Installing Database Software.
Finally, System is ready for RAC database creation, but during all this
process DBA has to work with Different teams like Hardware, Networking
and storage and there are different-2 vendors involved for each of these
components. Remote DBA also responsible to make sure that each
component is compatible with each other and finally compatible with
Oracle RAC, ASM and Database Software. So it has became a tedious task
for DBA and takes a lot of time to set up a RAC environment.
To solve all these challenges Oracle has come up with a new product call Exadata, Which is a bundle of Hardware from Oracle SUN and Installed S/W Like RAC, ASM, Database Software.
Exadata Machine is ready to use within few hours of Delivery. but
Exadata is not about providing bundled Hardware and Software to customer
but as an Hardware with Intelligence.
To Know Hardware with Intelligence, Let's take another scenario,
Remote DBA has set up a RAC environment which is working fine. In RAC
env Database is stored at Shared Storage Server and to get output of any
query data has to transfer from Shared Storage server to Database Node and then DB node will process data and provide results.
Limitations of Current RAC and Storage Servers
As we know, the database for organizations are increasing day by day and
we have limited network bandwidth between DB node and Storage Server
(Limitations comes at Hardware level). So
after a certain limit we can't optimize our speed of processing data
because of Hardware limitation of database nodes, storage Server and
Network equipments.
Suppose a simple query Select * from order where Order_type='new'
which returns only 1 Million rows is executed on the database machine
and the order table has 100 Million rows. So, in that case whole 100
Million rows will come from Storage server to DB node for processing and
after processing by DB node DBA will get query output. This whole
process take lot of time and resources from all RAC components.
How about if Storage Server only return 1 Million rows which were requested in where clause of the query ?
This is what Exadata Software does i.e. Filtering at Storage Level. Of course this is one of the mail feature of Exadata Software. A DBA can easily estimate the impact of this change. Technically this term is called as Exadata Smart Scan.
So, Here is What is Exadata ?
1. A bundle of Hardware and Software from Oracle Itself and ready to use immediately.
2. An Intelligent Storage Server to optimize Database Performance. In order to achieve this intelligent a software called Exadata is installed on all storage servers.
In Exadata Terms, A single storage server is called Cell or Cell server.
So I will be referring storage server and cell server interchangeably
in this article. I might be referring DB Server, DB Node for Database
Server.
Architecture of Exadata Database Machine:
In above diagram, there are three DB nodes, which are connect with two cell servers. Each storage server has it components.
Component of Exadata Storage Server:
It's another storage device,
which has CUP, Memory, Disks, network cards, an Operating System Oracle
Linux and Most important past Exdata Storage Server Software. There are
mainly three services which run on cell server for processing, CellSRV (Cell Service), MS (Management Server) and RS (Restart Server).
Cell Service (CellSRV): This is
the primary component of Exdata Cell which provides all Exadata Storage
services. This process communicate with Database server for providing
database blocks.
Management Server (MS): MS
service provide an interface to DBA for communicating or Managing Cell
Server. CellCLI is the Command Line tool which Exadata DBA used for
performing Exadata Administration services.
Restart Server (RS): This service is to make sure the functioning of Exadata Server. RS monitors CellSRV and MS for liveliness and restart them whenever required.
Four Main Features of Exadata Storage Server.
1. Smart Flash Cache Intelligent Caching: Storage servers usually have two kind of storage Hard disk and Flash Cache. Flash Cache are fast storage device used to keep most frequently accessed data for faster access, whenever there is a requirement of a block it is first looked into Flash Cache and if available returned to the server without going to Hard disk for reading the block. This is a common feature in Storage servers.
Now with Exadata Smart Flash Cache Inetlligence, Flash Disks are optimized to work according to
Oracle Database requirements. Exadata Software Directs Flash Cache to keep following objects into it.
A. Frequently access data and index blocks
B. Control Files read and write.
C. File headers read and write.
Following are not kept in Flash Cache.
a. Backup Related I/O
b. Data Pump I/O
c. Full Table Scan.
Database Administrator can also influence caching of Database Objects by pinning them into Flash Cache by setting CELL_FLASH_CACHE parameter. Here is a better way to know Exadata Smart Flash Cache.
2. Hybrid Columnar Compression (HCC): Compression is used for reducing storage consumption for large databases. In this technique a logical unit called Compression unit
is used to store Hybrid columnar Compressed Rows. At time of data
loading Column values are detached from rows, grouped and then
compressed. After compression this is fit into compression unit.
Database Smart scan processing is also supported at cell level i.e. Data
blocks need not to move from cell server to database server for
processing. The amount of saving storage space using HCC is around 10
to 15 times. Suppose you have 100 Tera Bytes of data, by using HCC DBA
can store this Data in to 10 TB of Storage space.
3. Smart Scan Processing: In Exadata storage server has got intelligence to filter data at storage level, rather than transferring it to database server.
Exadata Smart Scan works filtering for following kind of queries:
1. Predicate Filter: In a query with where clause only blocks
with satisfy where clause condition will only go to database server not
the entire table.
2. Column Filtering: Suppose in a select query like "select name,
age from employee" is execute on DB server by DBA, then only columns
name and age data will send to Database Server not all columns of
tables.
3. Join Processing: All join processing are done at Storage level itself, so only filtered data is sent to DB server.
4. I/O Resource Management: In traditional Database environment, If you have more than one database running on a Shared storage server. Large queries from one database can use more resource and cause performance issue for other databases. Another case a batch job has started in one DB by a DBA which case performance trouble into OLTP Database.
To avoid all these challenges Exadata has introduced Exadata Storage Server I/O Resource Management (IORM). Till now we have Database Resource
Manager (DBRM) to manage database resource within the database but now
with help of IORM DBA can manager resource across databases.
Let's take an example: You have two database Production and testing running on same Cell Server. Now Database Administrator can configure Resource plan which gives priority to Production Database over testing DB. Here, Whenever Testing Database load will affect Production Database IORM will manage rerource request such that it doesn't impact production Database performance. Thiis means Test Database requests has to wait until they can execute without disturbing production database performance.
You can also find few more features of Exadata Machine, but above are the main features of it, other features are either extension or part of these these features.
To know more about Exadata visit http://www.oracle.com/technetwork/database/exadata/exadata-technical-whitepaper-134575.pdf.
You can aslo see a 3D demo of Exadata Machnie https://blogs.oracle.com/databaseinsider/entry/oracle_exadata_database_machin
Tutorials for Exadata.
Please share you views about this article.