zoukankan      html  css  js  c++  java
  • When Database Sharding is Appropriate DATABASE SHARDING

     w横切

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

    When Database Sharding is Appropriate

    Database Sharding is an excellent fit for many types of business applications, those with general purpose database requirements. It can also be used effectively for Data Warehousing applications, and as there are many available products and technologies to accomplish this, we will not focus on this element here.

    The general purpose database requirements that are a fit for sharding include:

    • High-transaction database applications
    • Mixed workload database usage
      • Frequent reads, including complex queries and joins
      • Write-intensive transactions (CRUD statements, including INSERT, UPDATE, DELETE)
      • Contention for common tables and/or rows
    • General Business Reporting
      • Typical “repeating segment” report generation
      • Some data analysis (mixed with other workloads)

    To determine if Database Sharding is applicable to your specific application or environment, the most important thing to evaluate is how well your database schema lends itself to sharding. In essence, Database Sharding is a method of “horizontal” portioning, meaning that database rows (as opposed to columns) for a single schema table are distributed across multiple shards. To understand the characteristics of how well sharding fits a given situation, here are the important things to determine:

    • Identify all transaction-intensive tables in your schema.
    • Determine the transaction volume your database is currently handling (or is expected to handle).
    • Identify all common SQL statements (SELECT, INSERT, UPDATE, DELETE), and the volumes associated with each.
    • Develop an understanding of your “table hierarchy” contained in your schema; in other words the main parent-child relationships.
    • Determine the “key distribution” for transactions on high-volume tables, to determine if they are evenly spread or are concentrated in narrow ranges.
  • 相关阅读:
    关于 MySQL int tinyint 类型的那点事
    PHP日期、时间戳相关的小程序
    [leedcode 236] Lowest Common Ancestor of a Binary Tree
    [leedcode 235] Lowest Common Ancestor of a Binary Search Tree
    [leedcode 234] Palindrome Linked List
    [leedcode 233] Number of Digit One
    [leedcode 232] Implement Queue using Stacks
    [leedcode 231] Power of Two
    [leedcode 230] Kth Smallest Element in a BST
    [leedcode 229] Majority Element II
  • 原文地址:https://www.cnblogs.com/rsapaper/p/6279409.html
Copyright © 2011-2022 走看看