Mysql
 sql >> база данни >  >> RDS >> Mysql

Разделяне на база данни срещу разделяне

Разделянето е по-скоро общ термин за разделяне на данни между таблици или бази данни. Разделянето е един специфичен тип разделяне, част от това, което се нарича хоризонтално разделяне.

Тук репликирате схемата в (обикновено) множество екземпляри или сървъри, като използвате някаква логика или идентификатор, за да знаете кой екземпляр или сървър да търси данните. Идентификатор от този вид често се нарича "Shard Key".

Често срещана логика без ключ е използването на азбуката за разделяне на данните. A-D е екземпляр 1, E-G е екземпляр 2 и т.н. Клиентските данни са много подходящи за това, но ще бъдат донякъде погрешно представени по размер в различните случаи, ако разделянето не вземе предвид, че някои букви са по-често срещани от други.

Друга често срещана техника е използването на система или логика за синхронизиране на ключове, които осигуряват уникални ключове във всички екземпляри.

Добре известен пример, който можете да проучите, е как Instagram реши тяхното разделяне в първите дни (вижте връзката по-долу). Те започнаха разделени на много малко сървъри, използвайки Postgres за разделяне на данните от самото начало. Вярвам, че бяха няколко хиляди логически фрагмента на тези няколко физически фрагмента. Прочетете страхотната им статия от 2012 г. тук:Instagram Engineering - Sharding &IDs

Вижте и тук:http://www.quora. com/Каква е разликата между разделяне и разделяне



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разширите разделеното със запетая поле на няколко реда в MySQL

  2. Използвани са Mysql utf32_unicode_ci и html charset utf-8, но се появява символ �

  3. Проста UPDATE MySQl таблица от php масив

  4. MySQL заявка за връщане на редове, които съдържат празно пространство

  5. Как да конвертирате mssql скрипт в mysql