3、阅读以下文章,回答一下问题:
3.1、什么是数据库分片技术?
3.2、数据库分片的好处有哪些?
3.3、Oracle 数据库分片技术比NoSQL的分片有哪些优势?
Overview of Oracle Sharding
Become familiar with the concepts related to managing a sharded database with Oracle Sharding.
Oracle Sharding terminology, concepts, and benefits are described in the following topics:
Benefits of Sharding
Sharding provides linear scalability and complete fault isolation for the most demanding OLTP applications.
Components of the Oracle Sharding Architecture
Oracle Sharding is a scalability and availability feature for suitable OLTP applications.
Application Suitability for Sharding
Oracle Sharding is for OLTP applications that are suitable for a sharded database.
About Sharding
Sharding is a data tier architecture in which data is horizontally partitioned across independent
databases.Each database is hosted on dedicated server with its own local resources - CPU, memory, flash,
or disk. Horizontal partitioning involves splitting a database table across shards so that each shard
contains the table with the same columns but a different subset of rows. A table split up in this manner
is also known as a sharded table.
Sharding is based on shared-nothing hardware infrastructure and it eliminates single points of failure
because shards do not share physical resources such as CPU, memory, or storage devices. Shards are also
loosely coupled in terms of software; they do not run clusterware.
Shards are typically hosted on dedicated servers. These servers can be commodity hardware or engineered
systems. The shards can run on single instance or Oracle RAC databases. They can be placed on-premises,
in a cloud, or in a hybrid on-premises and cloud configuration.
From the perspective of a database administrator, an SDB consists of multiple databases that can be
managed either collectively or individually. However, from the perspective of the application, an SDB
looks like a single database: the number of shards and distribution of data across those shards are
completely transparent to database applications.
Sharding is intended for custom OLTP applications that are suitable for a sharded database architecture.
Applications that use sharding must have a well-defined data model and data distribution strategy
(consistent hash, range, list, or composite) that primarily accesses data using a sharding key.
Examples of a sharding key include customer_id, account_no, or country_id.
Benefits of Sharding
Sharding provides linear scalability and complete fault isolation for the most demanding OLTP
applications.
Key benefits of sharding include:
Linear Scalability.
Sharding eliminates performance bottlenecks and makes it possible to linearly scale performance
and capacity by adding shards.
Fault Containment.
Sharding is a shared nothing hardware infrastructure that eliminates single points of failure,
such as shared disk, SAN, and clusterware, and provides strong fault isolation—the failure or
slow-down of one shard does not affect the performance or availability of other shards.
Geographical Distribution of Data.
Sharding makes it possible to store particular data close to its consumers and satisfy regulatory
requirements when data must be located in a particular jurisdiction.
Rolling Upgrades.
Applying configuration changes on one shard at a time does not affect other shards, and allows
administrators to first test the changes on a small subset of data.
Simplicity of Cloud Deployment.
Sharding is well suited to deployment in the cloud. Shards may be sized as required to accommodate
whatever cloud infrastructure is available and still achieve required service levels. Oracle Sharding
supports on-premises, cloud, and hybrid deployment models.
Unlike NoSQL data stores that implement sharding, Oracle Sharding provides the benefits of sharding
without sacrificing the capabilities of an enterprise RDBMS. For example, Oracle Sharding supports:
Relational schemas
Database partitioning
ACID properties and read consistency
SQL and other programmatic interfaces
Complex data types
Online schema changes
Multi-core scalability
Advanced security
Compression
High Availability features
Enterprise-scale backup and recovery