Database Sharding, The “Shared-Nothing” Approach DATABASE SHARDING

w将单个服务器上的单个数据库打碎为多个服务器上的单个数据库

http://www.agildata.com/database-sharding/

Database Sharding provides a method for scalability across independent servers, each with their own CPU, memory and disk. Contrasted with other traditional methods of achieving greater database performance, it does not suffer from many of the typical limitations posed by these other approaches. The concept of a “shared-nothing” database implementation has been under research or discussion for 15+ years, but it appears that the business application market is just now finding the more general need for such capability due to the exponential increase in data volumes over the past several years.

The basic concept of Database Sharding is very straightforward: take a large database, and break it into a number of smaller databases across servers. The concept is illustrated in the following diagram:

Figure 2. Database Sharding takes large databases and breaks them down into smaller databases.

The obvious advantage of the shared-nothing Database Sharding approach is improved scalability, growing in a near-linear fashion as more servers are added to the network. However, there are several other advantages of smaller databases, which should not be overlooked when considering a sharding solution:

  • Smaller databases are easier to manage. Production databases must be fully managed for regular backups, database optimization and other common tasks. With a single large database these routine tasks can be very difficult to accomplish, if only in terms of the time window required for completion. Routine table and index optimizations can stretch to hours or days, in some cases making regular maintenance infeasible. By using the sharding approach, each individual “shard” can be maintained independently, providing a far more manageable scenario, performing such maintenance tasks in parallel.
  • Smaller databases are faster. The scalability of sharding is apparent, achieved through the distribution of processing across multiple shards and servers in the network. What is less apparent is the fact that each individual shard database will outperform a single large database due to its smaller size. By hosting each shard database on its own server, the ratio between memory and data on disk is greatly improved, thereby reducing disk I/O. This results in less contention for resources, greater join performance, faster index searches, and fewer database locks. Therefore, not only can a sharded system scale to new levels of capacity, individual transaction performance is benefited as well.
  • Database Sharding can reduce costs. Most Database Sharding implementations take advantage of lower-cost open source databases, or can even take advantage of “workgroup” versions of commercial databases. Additionally, sharding works well with commodity multi-core server hardware, far less expensive than high-end multi-CPU servers and expensive SANs. The overall reduction in cost due to savings in license fees, software maintenance and hardware investment is substantial, in some cases 70% or more when compared to other solutions.

There is no doubt that Database Sharding is a viable solution for many organizations, supported by the number of large online vendors and SaaS organizations that have implemented the technology (giants such as Amazon, eBay, and of course Google).

时间: 2024-10-07 09:24:26

Database Sharding, The “Shared-Nothing” Approach DATABASE SHARDING的相关文章

How to create a logical standby database based on a physical standby database

The related steps about how to create a phisical standby database please refer:   http://blog.csdn.net/waterxcfg304/article/details/35991771 /* How to create a logical standby database based on a physical standby database   */ 以下是主库: 下列语句可以用来检查SQL应用能

【oracle】oracledba17 The database returns and error and the database instance shuts down

A media failure has occurred. This has resulted in all the membe rs of the next hop log group being rendered inaccessible to the log w riter process (LGWR) at a log switch. How does this failure affect th e operational database? A. The database re-cr

【OPatch】从 Oracle Database 19.3 升级到 Oracle Database

1. 背景介绍由于Oracle Database 19c会作为Oracle长期支持的版本,官方也建议大家选择19c这个版本.而最新推出的20c会作为一个全新的发布序列,当前版本是20.1,此版本的生命周期也会比较短,因此可以再观望一下20c的后续版本.我安装了在Oracle官网可以下载到的19.3的版本,完成了升级到19.6版本的操作过程,给此项目工作提供文档支持. 2. 升级过程可以从MOS获得 Database 19.6 的 patch,名称如下: Patch 30463595: COMBO

12C Sharding 学习安装

软件安装 主机分配 主机名       IP                        配置    用途shardgsm 172.17.201.101   2U3G 分片目录shardcatdb 172.17.201.102 4U5G 配置库shard1 172.17.201.103       4U5G 分片数据库1shard2 172.17.201.104       4U5G 分片数据库2 /etc/hosts172.17.201.101 shardgsm shardgsm.local

P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1

P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1       May 2016 Contents About This Guide...................................................................................... 11 Shared Topics in This Guide .

CHAPTER 1 Introduction to database (第一章 数据库简介)

Chaper  Objectives  (章节目标) In this chapter you will learn:   (在这一章节中,你将学习) 1. Some common uses of database systems.   (数据库系统的一些普通扩法) 2.The characteristics of file-based systems. (基于文件系统的一些特点.) 3. The problems with the file-based systems.  (基于文件系统拥有的一

Oracle Database 12.2新特性详解

在2015年旧金山的Oracle OpenWorld大会上,Oracle发布了Database 12.2的Beta版本,虽然Beta版本只对部分用户开放,但是大会上已经公布了12.2的很多重要的新特性,云和恩墨是Oracle的Beta用户,已经开始测试这一产品.在刚刚结束的"Oracle技术嘉年华"大会上,更详细的主题分享披露了更多内容.在这篇文章中,我将和大家一一来细数Oracle Database 12.2的新特性. Oracle Sharding的实现 简单来说,Oracle的S

CHAPTER 2 Database Environment

Chapter Objectives   (章节目标) In this chapter you will learn:  (在本章中,你将学习:) The purpose and origin of the three-level database architecture.  (三层数据库的架构和起源.) The contents of the external, conceptual, and internal levels. (外部.概念.内部层次的内容.) The purpose of

Oracle Recommended Patches -- "Oracle JavaVM Component Database PSU" (OJVM PSU) Patches (文档 ID 1929745.1)

From: https://support.oracle.com What is "Oracle JavaVM Component Database PSU" ? Oracle JavaVM Component Database PSU is released as part of the Critical Patch Update program from October 2014 onwards.It consists of two separate patches: One fo