NewSQL - NewSQL
NewSQL er en klasse af relationsdatabasestyringssystemer , der søger at levere skalerbarhed af NoSQL -systemer til onlinetransaktionsbehandling (OLTP) -belastninger, samtidig med at ACID -garantierne for et traditionelt databasesystem opretholdes .
Mange virksomhedssystemer, der håndterer profilerede data (f.eks. Finans- og ordrebehandlingssystemer) er for store til konventionelle relationsdatabaser, men har transaktions- og konsistenskrav, der ikke er praktiske for NoSQL-systemer. De eneste muligheder, der tidligere var tilgængelige for disse organisationer, var enten at købe mere kraftfulde computere eller at udvikle brugerdefineret middleware, der distribuerer anmodninger over konventionel DBMS . Begge tilgange har høje infrastrukturomkostninger og/eller udviklingsomkostninger. NewSQL -systemer forsøger at forene konflikterne.
Historie
Begrebet blev først brugt af 451 koncernanalytiker Matthew Aslett i et forskningsartikel fra 2011, der diskuterede fremkomsten af en ny generation af databasesystemer. Et af de første NewSQL-systemer var H-Store parallelle databasesystem .
Ansøgninger
Typiske applikationer er kendetegnet ved store OLTP -transaktionsmængder. OLTP -transaktioner;
- er kortvarige (dvs. ingen brugerboder)
- røre ved små mængder data pr. transaktion
- brug indekserede opslag (ingen bordscanninger)
- har et lille antal former (et lille antal forespørgsler med forskellige argumenter).
Nogle understøtter imidlertid hybrid -transaktions-/analytisk behandling (HTAP) -applikationer. Sådanne systemer forbedre ydeevnen og skalerbarhed ved at udelade heavyweight genvinding eller samtidighed kontrol .
Liste over NewSQL-databaser
- Clustrix
- NuoDB
- VoltDB
- SingleStore var tidligere kendt som MemSQL.
- TransLattice Elastic Database
- Pivotal GemFire XD
- Apache Trafodion
- TokuDB
- TIBCO aktive rum
- Google nøgle
- Kakerlak DB
- TiDB
- Amazon Aurora
Funktioner
De to fælles kendetegn ved NewSQL -databaseløsninger er, at de understøtter online skalerbarhed af NoSQL -databaser og den relationelle datamodel (herunder ACID -konsistens) ved hjælp af SQL som deres primære interface.
NewSQL -systemer kan løst grupperes i tre kategorier:
Nye arkitekturer
NewSQL -systemer anvender forskellige interne arkitekturer. Nogle systemer anvender en klynge af delte-ingenting- noder, hvor hver node administrerer et delsæt af dataene. De inkluderer komponenter såsom distribueret samtidighedskontrol , flowkontrol og distribueret forespørgselsbehandling.
SQL -motorer
Den anden kategori er optimerede lagermotorer til SQL . Disse systemer giver den samme programmeringsgrænseflade som SQL, men skalerer bedre end indbyggede motorer.
Gennemsigtig skæring
Disse systemer deler automatisk databaser på tværs af flere noder ved hjælp af Raft- eller Paxos -konsensusalgoritme.
Se også
- Transaktionsbehandling
- Partition (database)
- Distribueret relationsdatabasearkitektur
- Distribueret SQL