Adatbázis fürtözés

  • MySQL
  • csoportosítás
Az interneten olvastam, hogy a VKontakte a MySQL-t használja a fő tárolóként. És sok más projekt a MySQL-t használja. A kérdés érdekes, hogy miként alkalmazzák technikai szempontból?
Nem olyan, mint ők, de hogyan lehet egyáltalán tervezni, a főbb követelmények:
  1. Ingyenes adatbázisok használata
  2. Átlátható munka az adatbázisban (azaz a szkripteknek nem kell tudniuk, hogyan és mi van ott elhelyezve, és mindig vagy egy szerverhez kapcsolódnak, vagy véletlenszerűen a fürtben)
  3. Ha egy kiszolgáló meghibásodik, a munka folytatódik, és az adatok nem kerülnek el
  4. Nagy teljesítmény (a kérelmek nagyon nagy száma feldolgozott)
  5. Jó nyújthatóság (a rendszer letiltása nélkül felveheti vagy eltávolíthatja a szervert)


A korlátozások a következők:
  1. Az alap viszonylag kicsi (legfeljebb 8 koncert, de nem tény, hogy nagyobb lehet)
  2. Majdnem minden asztal idegen kulcsokkal van összekapcsolva
  3. A lekérdezések viszonylag egyszerűek (a legtöbb SELECT, valamivel kevesebb Insert és nagyon kevés frissítés)
  4. A lekérdezések primitívek és leggyakrabban 1-2 táblázatot érintenek

A kérdés az, hogy mik a legjobb módszerek ennek megvalósítására?

Magát hajlamos memcached + MySQL (InnoDB) + NDB, de NDB valami nem világos, sok köpni, de nem magyarázza, hogy mit és hogyan, de gyakran villant az információt, hogy ha az alap több lesz, mint a RAM minden szerveren, minden hajlított (amellett, nem érti, hogyan hajtják végre tároló rendszer, mert ítélve az összes dokumentációt a memóriában tárolt), és nincs támogatás az idegen kulcsokat, és nélkülük nehéz lesz élni. (Van egy lemásolják az adatokat, de még mindig fellebbezés csak a mester ott) replikáció is ez nem különösebben világos.
A fő feladat: megbízható tárolás + hibatűrés és elfogadható sebesség nagy terhelés alatt (kb. 10k kérés másodpercenként). Valaki, aki tanácsot adhat vagy linket adhat egy cikkhez vagy dokumentációhoz.

A fürtözésekhez az adminisztrátor két problémával rendelkezik
1. Olyan palackhüvelyek, amelyek nem / nem kompenzálhatók egy szerver kapacitásának növelésével
2. A magas rendelkezésre állású szolgáltatások (magas rendelkezésre állás)

Ennek megfelelően az első nagyon drága és aranyérű lesz. Igazán nagy terheléssel találkoztam, de az adatbázis szerkezetének megfelelő szervezésével a vas mindent megtartott. Ebben a helyzetben egyszerűbb a struktúra optimalizálása, mint az összes NDB-k és a mester replikációs mester áttörése.

A második a master / slave klaszter felépítése, amely automatikusan megváltoztatja a szerepeket a hiba esetén. Nem javaslom a replikációt. A DRBD felé nézhetünk GFS || GPFS + Heartbeat || pacemaker

Válasz a kérdésre

Jelentkezzen be válaszra

  • MySQL
  • MySQL
  • Moszkva
  • Teljes munkaidőben
  • 150 000-ről 600 000 rubelre.
  • Moszkva
  • Teljes munkaidőben
  • 160 000 rubelig.
  • Moszkva
  • Teljes munkaidőben
  • 160 000 rubelig.
  • Nakhabino, falu
  • Részmunkaidős munka
  • 50 000-ről 80 000 rubelre.

70000 RUR / projektenként

500 rubel projektenként

Jelentkezzen be az oldalra

Kérdés feltenni és minősített választ kapni rá.

Kapcsolódó cikkek