Teknologian jakaminen

Tietokannan hallinta big datan aikakaudella: tietokannan jakamisen ja lukemisen ja kirjoittamisen erottamisen merkitys

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Esipuhe

Termit "sharing" ja "tietokannan jakaminen" mainitaan usein tietokantakentässä viitaten yleensä samanlaisiin käsitteisiin, mutta eroavat yksityiskohdista. Tietokannan jakaminen tarkoittaa yleensä suuren tietokannan tietojen jakamista useisiin pienempiin tietokantoihin suorituskyvyn ja hallittavuuden parantamiseksi. Tietokannan jakaminen taas tarkoittaa laajemmin tietokantajärjestelmän hajottamista pienempiin osiin, mikä voi sisältää tietokannan jakamista tai muun tyyppistä jakamista, kuten taulukkojen jakamista.

Tässä ovat erot jakamisen ja tietokannan jakamisen välillä:

ominaisuusTietokannan jakaminenTietokannan jakaminen
määritelmäJaa tiedot useiden fyysisten tietokanta-instanssien kesken.Jaa tietokantajärjestelmä pienempiin kokonaisuuksiin.
TarkoitusParanna suorituskykyä, skaalautuvuutta ja vikasietoisuutta.Paranna suorituskykyä, hallintaa ja skaalautuvuutta.
tyyppiSisältää pääasiassa vaaka- ja pystyhalkaisun.Mukaan lukien alitietokanta, alitaulukko, vaakajako, pystyjako jne.
jaettu vaakasuoraanSe on jakamisen muoto, joka jakaa tiedot riveittäin.Luultavasti osa tietokannan jakoa.
jaettu pystysuunnassaSe on jakamisen muoto, joka jakaa tiedot sarakkeittain.Luultavasti osa tietokannan jakoa.
täytäntöönpanon monimutkaisuusTarvitaan korkeampi lisäreitityslogiikka.Se riippuu tietystä jakomenetelmästä.
VaikutusSovelluskerroksen koodia on ehkä muutettava, jotta se mukautuu alikirjastoon.Sovelluskerroksen koodia on ehkä muutettava muutosten mukaiseksi.
esimerkkiTallenna eri käyttäjien tiedot eri tietokantoihin, esimerkiksi kohdista ne eri tietokantoihin käyttäjätunnuksen hash-arvon mukaan. Jaa suuri taulukko useisiin pienempiin taulukoihin tai jaa tiedot pystysuunnassa eri taulukoiksi tai kirjastoiksi. Pystyjako: tallenna käyttäjätiedot ja tilaustiedot eri tietokantoihin horisontaalinen jako: tallenna tilaustaulukko eri tietokantoihin tilaustunnusalueen mukaan.

Esimerkki haarakirjastosta

  1. -- 分库示例:将订单信息按照用户ID的哈希值存储到不同的数据库
  2. -- 数据库1
  3. CREATE DATABASE orders_db_1;
  4. USE orders_db_1;
  5. CREATE TABLE orders (
  6. order_id INT PRIMARY KEY,
  7. user_id INT,
  8. total_amount DECIMAL(10, 2),
  9. order_date DATE
  10. );
  11. -- 数据库2
  12. CREATE DATABASE orders_db_2;
  13. USE orders_db_2;
  14. CREATE TABLE orders (
  15. order_id INT PRIMARY KEY,
  16. user_id INT,
  17. total_amount DECIMAL(10, 2),
  18. order_date DATE
  19. );

Esimerkki tietokannan jakamisesta

  1. -- 垂直拆分示例:将用户信息表和订单信息表分离到不同的数据库
  2. -- 主数据库
  3. CREATE DATABASE main_database;
  4. USE main_database;
  5. -- 用户信息表
  6. CREATE TABLE users (
  7. user_id INT PRIMARY KEY,
  8. username VARCHAR(50),
  9. email VARCHAR(100)
  10. );
  11. -- 订单信息表
  12. CREATE DATABASE orders_database;
  13. USE orders_database;
  14. CREATE TABLE orders (
  15. order_id INT PRIMARY KEY,
  16. user_id INT,
  17. total_amount DECIMAL(10, 2),
  18. order_date DATE
  19. );

Tietokannan jakamista ja tietokannan jakamista käytetään eri skenaarioissa vastaamaan tiettyihin liiketoiminnan tarpeisiin ja teknisiin haasteisiin:

KohtauksiaTietokannan jakaminenTietokannan jakaminen
Datamäärä on liian suuriKun yhden tietokannan tiedon määrä ylittää yhden palvelimen tallennus- tai käsittelykapasiteetin.Kun tietokantataulukon koko vaikuttaa kyselyn suorituskykyyn.
Suorituskyvyn pullonkaulaKun luku- ja kirjoitustoimintoja esiintyy samanaikaisesti, yksi tietokanta ei voi tarjota riittävää suorituskykyä.Yhden taulukon luku- ja kirjoitustoiminnot alkavat hidastua, mikä vaikuttaa sovelluksen vasteaikaan.
SkaalautuvuusvaatimuksetTietokantaa on laajennettava vaakasuunnassa suorituskyvyn parantamiseksi lisäämällä tietokantasolmuja.Tiedot on jaettava pystysuunnassa yhden tietokannan kuormituksen vähentämiseksi ja hallinnan yksinkertaistamiseksi.
Katastrofipalautus ja palautusHajautetussa ympäristössä katastrofipalautuskykyä ja järjestelmän nopeaa palautumista voidaan parantaa sirpaloinnin avulla.Jakamalla tietokannan voit helpommin varmuuskopioida ja palauttaa osia tiedoistasi.
Liiketoiminnan logiikkaan liittyväSe ei sovellu skenaarioihin, joissa on monimutkaisia ​​ristikkäisiä taulukkokyselyitä, koska verkon latenssi ja monimutkaisuus voivat kasvaa tietokannan jakamisen jälkeen.Tiedot voidaan jakaa liiketoimintalogiikan mukaan niin, että liittyvät tiedot tallennetaan yhteen ja tietokantojen väliset kyselyt vähenevät.
Järjestelmäarkkitehtuurin säätöKun järjestelmäarkkitehtuurin on tuettava hajautettua laskentaa ja laajamittaista tietojenkäsittelyä.Kun tietorakenteita on järjestettävä uudelleen tietyn kyselyn tai toiminnon optimoimiseksi.
Kustannusten hallintaHalpoja laitteistoresursseja voidaan hyödyntää sirpaloinnin avulla alentaakseen kokonaiskustannuksia.Tietojen tallennus- ja käyttötapoja optimoimalla voidaan säästää tallennus- ja laskentaresursseja.
Tietojen eristäminen ja turvallisuusTietojen fyysinen eristäminen voidaan saavuttaa maantieteellisen jakamisen avulla säännösten vaatimusten täyttämiseksi.Tiedot voidaan jakaa herkkyyden tai käyttötaajuuden mukaan tarkemman suojauksen valvonnan saavuttamiseksi.

      Vaikka sekä tietokannan jakamista että tietokannan jakamista voidaan käyttää yllä olevien ongelmien ratkaisemiseen, niiden painopisteet ovat erilaiset. Alitietokannat ovat taipuvaisempia ratkaisemaan suuren mittakaavan tiedon tallentamisen ja käsittelyn sekä parantamaan järjestelmän skaalautuvuutta ja hätäpalautusominaisuuksia. Tietokannan jakaminen keskittyy enemmän tietojen organisoinnin ja käyttötapojen optimointiin ja tietokannan hallinnan yksinkertaistamiseen.