Domanda

L'implementazione SQL dei database relazionali è in circolazione nella loro forma attuale da circa 25 anni (da System R e Ingres). Anche lo standard principale (che ha aderito debolmente) è ANSI-92 (anche se ci sono stati aggiornamenti successivi) ha ben 15 anni.

Quali innovazioni puoi pensare con i database basati su SQL negli ultimi dieci anni circa. Escludo specificamente OLAP, Columnar e altre innovazioni non relazionali (o almeno non SQL). Voglio anche escludere funzionalità e raggruppamenti di tipo "application server" (come strumenti di reportistica)

Sebbene l'approccio di base sia rimasto abbastanza statico, posso pensare a:

  • Disponibilità
  • Capacità di gestire grandi quantità di dati
  • Facilità di manutenzione e configurazione
  • Supporto per tipi di dati più avanzati (BLOB, XML, Unicode ecc.)

Qualcun altro a cui puoi pensare?

È stato utile?

Soluzione

  • Hash join
  • Ottimizzatori basati sui costi (praticamente trasformati in query di scrittura di query)
  • Partizionamento (consente una gestione VLDB molto migliore)
  • Elaborazione di query parallela (multi-thread)
  • Clustering (non solo disponibilità ma anche scalabilità)
  • Maggiore flessibilità in SQL e più facile integrazione di SQL con i linguaggi 3GL
  • Migliori capacità diagnostiche

Altri suggerimenti

Funzioni analitiche come RANK

Non sono sicuro di voler includere anche innovazioni specifiche del fornitore (e nemmeno sono del tutto sicuro che altri motori di database non possano già farlo), ma SQL Server 2005 aggiunge query transact-sql ricorsive alla loro lingua . Li trovo incredibilmente utili per iterare su dati gerarchici. Credo che il 2008 aggiunga alcune nuove funzionalità relative ai dati gerarchici, ma non ho analizzato da vicino.

SELECT (invoiceprice * detailweight) / SUM(weight) OVER(PARITTION BY invoice) as weighted, * 
FROM tblInvoiceDetails

Le funzioni con finestra sono fantastiche per fare cose come medie ponderate e altre cose che in precedenza richiedevano CURSORI.

Beh, si potrebbe forse suggerire che una mancanza di movimento per 15 anni non è solo un segno di mancanza di innovazione, ma un segno che i database sono quasi perfetti! Molte persone cercano di fare cose nel codice che sono fatte meglio in database che sono stati perfezionati dagli anni '60 per essere eseguiti nel modo più veloce ed efficiente possibile.

Direi che negli ultimi dieci anni (1998-2008) i prodotti RDBMS open source sono diventati fattibili nelle distribuzioni tradizionali. La maggior parte delle aziende di Fortune 500 ora utilizza MySQL o PostgreSQL o un altro RDBMS open source da qualche parte nella loro organizzazione, anche se usano anche uno dei marchi commerciali RDBMS a sorgente chiuso.

Questo non è un progresso tecnico, ma è degno di nota perché la disponibilità di un motore RDBMS stabile e open source consente molti altri progetti innovativi.

Mi rendo conto che sia MySQL che PostgreSQL erano disponibili già nel 1995, ma direi che non furono più mainstream per diversi anni dopo.

Insieme al tuo elenco di tipi di dati più avanzati (BLOB, XML, Unicode, ecc.) dovresti includere i tipi spaziali.

L'estensione PostGIS per PostgreSQL è stata lanciata nel 2001, ma ora tutti i principali fornitori hanno implementato oggetti spaziali e SQL spaziali.

Insieme all'ascesa di Google Maps, Bing Maps e OpenLayer, la capacità di visualizzare dati geospaziali ed eseguire query spaziali senza middleware ha avuto un enorme effetto sul web e sull'analisi dei dati.

Penso che la maggior parte dei progressi siano stati nel regno delle prestazioni - interrogare profiler e cluster.

Penso che l'area della più grande innovazione sia stata probabilmente nella replica dei dati - per disponibilità e affidabilità. La maggior parte delle altre aree sono più incrementali. Specificando un decennio, si omette la roba ORDBMS - estensibilità; apparso nel 1997.

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