Domanda

Sono stato bloccato in un mondo MsSql / MySql ora per alcuni anni, e ho deciso di diffondere un po 'oltre le mie ali. Al momento sto ricercando quale DBMS è bravo a cose necessarie durante l'archiviazione dei dati. Per esempio. un sacco di scrive e legge bassa.

Ho visto la crociata NoSQL, ma ho un RDBMS mentalità, quindi sono un po 'scettico.

Qualcuno ha qualche suggerimento? O anche qualsiasi puntatori a dove ci sono alcuni punti di riferimento, ecc per questo genere di cose.

Grazie :) Thomas


modifica

Poiché non vi era una domanda, cercherò di dare un po 'più di informazioni su quello che sto pensando

ho intenzione di eseguire un servizio su più server, che hanno tutti i loro database locale. Questi database avranno una quantità enorme di colpi (1/1 di lettura / scrittura), quindi sto cercando di tenerli vuoti come possibile mantenere interrogazione tempo verso il basso. La mia stima iniziale è che nessuna riga siederà in tale database per più di 30 minuti. L'esecuzione di un db archivio su ciascuno di tali servizi, sembra uno spreco di risorse, in modo da un archivio di architettura centrale ha un aspetto migliore.

cercherò di ascii di un'architettura di rete rapida

     ___________    ___________    ___________
    | service 1 |  | service 2 |  | service 3 |
     -----------    -----------    -----------
          |____________|_______________|
                   ____|____
                  | Archive |
                   ---------

Come sapete, MsSQL e MySQL in scala solo verticalmente quando si tratta di scrittura (non so se è una cosa RDBMS). Così sto esaminando ottenere il massimo delle prestazioni da quel DBMS archivio possibili.

È stato utile?

Soluzione

Se la struttura dei dati che si sta archiviando è relativamente semplice si potrebbe considerare l'archiviazione diretta in file flat. Buon per la scrittura, non così buono per la lettura. C'è qualche discussione su questo argomento in questa domanda: sono database di file flat nulla di buono ?

In caso contrario, mi piacerebbe restare con MySql e assicurarsi che sia correttamente sintonizzato per alta-scrittura / lettura a basso utilizzo.

Altri suggerimenti

quindi sto cercando di tenerli vuoti come possibile mantenere interrogazione tempo verso il basso

In primo luogo, la velocità di query non è direttamente proporzionale alle dimensioni del database a meno che non si sta facendo le scansioni solo completa della tabella. Un indice univoco di ricerca è proporzionale alla profondità dell'indice. Dal momento in un blocco principale di indice si divide per la prossima volta si divide potrebbe essere milioni di righe aggiuntive. Infatti eliminazione di righe per mantenere il database "vuote come possibile" non può effettivamente rendere più piccolo il database. Fino a quando si ricostruisce l'indice, si potrebbe avere ramo molto rada e blocchi Fare Foglia scansioni dell'indice making richiedono più tempo e più a lungo.

Non sono sicuro di come MSSQL o MySQL riempire pagine parzialmente vuote, ma non si può vedere qualsiasi risparmio di spazio a tutti dal eliminazioni.

In Oracle, io suggerirei di partizionamento e gocce su Elimina per in realtà a mantenere un database di una certa dimensione.

Ma ho detto tutto quello che di incoraggiarvi a spiegare le ali in un utilizzando un in-memory database per il vostro uso del server, invece di concentrarsi sul vostro uso archivio. In questo caso hai detto niente che mi fa pensare un RDBMS non è la soluzione migliore per l'archiviazione.

Oracle o PostgreSQL sono anche DBMS molto potenti. Ma se si sa già e usato MySQL, perché cambiare? MySQL è gratuito, performante, ben documentato ...

Ma se avete in gran parte operazioni di scrittura e non un sacco di legge, e non si vuole più del DBMS di uso comune, allora si potrebbe prendere in considerazione un DBMS basati documento

I raccomanderebbe di avere uno sguardo a eXist db e Mongo DB

Spero che questo aiuti!

Si può vedere lettura / scrittura risultato prestazioni del database di spettacolo diverso con questo Software Benchmark Database (GNU GPL) che è adatto trovare alcune risposte.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top