I comuni sistemi di database relazionali funzionano senza problemi? [chiuso]

7

Sono abbastanza nuovo nello sviluppo di software e ogni volta che mi imbatto in piccoli progetti che implicano la memorizzazione di dati (relazionali) mi chiedo sempre se qualcosa come un micro-blog (o qualsiasi altro progetto con pochi utenti che memorizza pochi tipi di dati ) hanno davvero bisogno di RDBMS "grandi" come MySQL / MariaDB, PostgreSQL o anche SQL Server, DB2 o Oracle (ovviamente non ho usato quest'ultimo 3 ma i primi 2 sembrano molto diffusi anche con pochissime applicazioni).

Se osservi la matrice delle caratteristiche di uno di questi pacchetti software, di solito è massiccia e mi travolge un po '. Fondamentalmente voglio creare un database, un gruppo di tabelle, uno o due utenti con diritti specifici per accedervi e basta.

Ma dopo aver consultato la documentazione, troverò cose come "Cascading streaming replication", "Foreign wrapper di dati" o "Viste materializzate con refresh simultaneo" e molto, molto altro e questo mi fa sempre pensare se dovrei davvero leggere su queste cose, modificare il mio file di configurazione completo e soprattutto se queste caratteristiche rappresentano una possibile minaccia per la sicurezza quando non le disattivo o non so come usarle.

Fondamentalmente, il tutto non sembra essere stato "fatto per me" e il mio piccolo micro-blog, ma grandi aziende con tonnellate di sistemi e moduli che devono interagire tra loro e scambiare dati in più formati , ecc.

Naturalmente, c'è sqlite, ma quando l'ho guardato per l'ultima volta sembrava che non supportasse la concorrenza e quindi è piuttosto inadatto per le applicazioni web.

    
posta One One 23.05.2015 - 17:15
fonte

3 risposte

10

Lavorano fuori dagli schemi, per la maggior parte, ma devi sapere come usarli. Non vengono pre-compilati con il modello dati della tua applicazione, perché non sanno cosa sia, quindi sono una lavagna vuota, in tal senso.

SQLite supporterà i siti di piccole e medie dimensioni con concorrenza nominale e traffico relativamente basso, che descrive probabilmente il 95 percento di tutti i siti Web disponibili. Se ti senti ancora a disagio nell'usare SQLite, Postgresql ti offre un database di livello industriale in un eseguibile con una dimensione di circa 50 MB. La maggior parte dei principali fornitori di database ha una versione "lite", ma in realtà è solo la versione full-size con alcune limitazioni artificiali imposte.

Non è necessario sapere tutto ciò che c'è da sapere su un database per sfruttarlo appieno. Quante delle funzioni del tuo foglio di calcolo o del tuo word processor preferito conosci davvero? uso? Forse il 10% di loro?

In breve, i database sono abbastanza economici che la maggior parte delle applicazioni con esigenze di dati non banali può farne un ottimo uso.

    
risposta data 23.05.2015 - 19:33
fonte
4

Basically, the whole thing just doesn't seem like it was 'made for me' and my small micro-blog

Penso, questa è la dichiarazione di base qui.

Sebbene la tua domanda riguardi Do common relational database systems work 'out of the box'? , quello che stai cercando è più: ho bisogno di un DB completo per microblogging? . E c'è una risposta chiara: no, non lo fai. Dai un'occhiata a Siti web statici e Sito statico generatori . Storicamente, il blogging è stato reso famoso con Wordpress , che è scritto in PHP - un linguaggio di programmazione molto comune per i siti Web - che a sua volta è principalmente accompagnato da MySQL . Questa è una semplice coincidenza e non c'è causalità da dire: il blogging è possibile solo con un database.

Naturalmente, ti offre alcune funzioni interessanti: i tuoi post sono dati e in quanto tali interrogabili in ogni forma. Ma d'altra parte, solo per microblogging è totalmente overkill .

Personalmente amo molto Jekyll . Forse, dai un'occhiata!

Per quanto riguarda il punto di batteries included : Se si utilizza un tipico pacchetto di hosting da un hoster di propria scelta, MySQL o ogni altro DB offerto è facilmente configurato.

Se hai intenzione di ospitare il tuo blog o di eseguire una casella Cloud, ad es. uno a Digital Ocean, quindi devi installare e configurare da solo il DB; che in genere non è quello che vuoi, se vuoi solo microblog ; poiché ci sono molte implicazioni sulla sicurezza . Devi sapere cosa stai facendo.

tl; dr

Do common relational database systems work 'out of the box'?

Sì, funzionano fuori dalla scatola, ma devono essere configurati correttamente in termini di sicurezza

Basically, the whole thing just doesn't seem like it was 'made for me' and my small micro-blog

Sì, stai meglio con siti statici .

    
risposta data 23.05.2015 - 19:40
fonte
2

Il database è un framework. Quanto hai bisogno di funzionalità avanzate dipende dalle esigenze della tua azienda. Per quello che hai descritto in termini di esigenze, hai bisogno di tabelle SQL, ma non la lunga lista di altre cose che menzioni.

Inizia piccola e semplice è la strada da percorrere.

Pensa a come costruire uno scaffold. Per un capanno un paio di 4x4 fa il trucco, anche se fornisce solo un telaio, non un tetto, scaffali, ecc. Per un grattacielo l'impalcatura include un sacco di funzioni ingegneristiche per prestare attenzione - ma è ancora un quadro e non finito lo spazio abitabile.

SQLite va bene per un piccolo database con uno o due utenti, a meno che non vi stiano martellando pesantemente. Se usi un fornitore per questa roba puoi semplicemente fare affidamento sulle loro cose. Ad esempio, un'applicazione Ruby on Rails in esecuzione su Heroku utilizza PostgreSQL .

    
risposta data 23.05.2015 - 18:29
fonte

Leggi altre domande sui tag