2010-09-29 7 views
3

Y a-t-il des comparaisons selon lesquelles NoSQL a été conçu dans quel but?Quelle base de données NoSQL à quelles fins? [Grand ro data]

Je suis particulièrement intéressé par l'interrogation d'une grande quantité de données pratiquement en lecture seule.

Édition: Je veux dire la comparaison entre les bases de données NoSQL pas la comparaison avec les bases de données SQL.

+1

Lorsque vous dites interroger une grande quantité de données en lecture seule, cela implique-t-il le regroupement et l'agrégation? NoSQL est faible sur ce front. –

+0

Regroupement - oui mais plus comme dans une "table" puis cross-table. Je pense toujours à l'architecture et l'évolutivité ATM et je voulais avoir une comparaison. –

Répondre

4

souple NoSQL Systems: [pas l'intention originale de "NoSQL" mais surtout digne d'intérêt pour de grandes solutions non relationnelles] bases de données objet

db4o: API: Java, C#, .Net Langs, Protocole: langage, Méthode de requête: QBE (par exemple), Soda, requêtes natives, LINQ (.NET), Réplication: db4o2db4o & dRS à relationnelles, Rédigé dans: Java, Cuncurrency: ACID sérialisé, Misc: bibliothèque intégrée, Liens: DZone Refcard # 53 », Livre»,

Versant: Langages/Protocole: Java, C#, C++, Python. Schéma: modèle de classe de langue (facilement modifiable). Modes: toujours cohérent et éventuellement cohérent Réplication: tolérante aux pannes synchrone et asynchrone d'égal à égal. Concurrence: verrous optimistes et basés sur des objets. Mise à l'échelle: possibilité d'ajouter des noeuds physiques à la volée pour passer à l'échelle/à l'intérieur et migrer des objets entre les noeuds sans impact sur le code de l'application. Divers: MapReduce via requête parallèle SQL comme dans les groupes de bases de données logiques.

Objectivité: Langages: Java, C#, C++, Python, Smalltalk, accès SQL via ODBC. Schéma: modèle de classe de langue native, prise en charge directe des références, interopérable sur toutes les liaisons de langue. L'ID d'objet unique (OID) 64 bits prend en charge l'ex-octet multiple. Plateformes: 32 et 64 bits Windows, Linux, Mac OSX, * Unix. Modes: toujours cohérent (ACID). Concurrence: verrouille au niveau du cluster d'objets (conteneur). Mise à l'échelle: architecture distribuée unique, ajout/suppression dynamique des clients & serveurs, environnement cloud prêt. Réplication: synchrone avec la tolérance aux pannes de quorum entre les partitions d'égal à égal.

[Gemstone, Progrès]

Prest: API: Java, Java ME, C#, Mono. Méthode de requête: OO via les collections Prest, QBE, Requêtes natives, LINQ, recherche de texte intégral natif, Réplication JSQL: Async + sync (maître-esclave) Rédigé dans: Java, C#. Mise en cache: cache d'objets (LRU, faible, fort), pool de pages, base de données en mémoire Concurrence: pessimiste + optimiste (MVCC) + asynchrone ou synchrone (ACID) Types d'index: Plusieurs modèles d'arborescence + Séries temporelles. Autres: bibliothèque intégrée, cryptage, récupération automatique, recherche en texte intégral natif, sauvegarde en ligne ou hors ligne. ZODB: API: Python, Protocole: Interne, ZEO, Méthode de requête: Accès direct aux objets, zope.catalog, gocept.objectquery, Réplication: ZEO, ZEORAID, RelStorage Rédigé dans: Python, C Concurrency: MVCC, Licence: Zope Public License (OSI approuvé) Divers: Utilisé en production depuis 1998

NEO: API: Interface "Storage" Python - ZODB, Protocole: natif, Méthode de requête: clé-valeur transactionnelle, Réplication: native, Rédigé dans: Python , Concurrence: MVCC au niveau ZODB, Licence: GPL "v2 ou version ultérieure", Divers: équilibrage de charge, tolérant aux pannes, extensible à chaud.

StupidDB », KiokuDB» (solution Perl),

J'ai trouvé cette belle liste de NoSQL de chez:

http://nosql-database.org/

Si vous remarquez un peu à mi-chemin passé en bas de la page, ils ont une belle liste de noSQL et semblent aller dans le détail à propos de chacun.

0

Je pense que vous sous-estimez grandement la puissance du SGBDR. Pourquoi utiliser noSQL?

J'ai travaillé sur les bases de données ~ 10tb .. et c'était il y a 8 ans, sur le matériel ancien par rapport à aujourd'hui.

Avez-vous vraiment plus de 10 To de données? Est-il correctement normalisé?

Je peux analyser un milliard de lignes en SQL et donner des réponses instantanées à presque tout ce dont j'ai besoin.

+0

Typiquement, vous auriez tout à fait raison, mais il y a 8 ans, les exigences étaient très différentes et il y a certainement de forts cas d'utilisation de NoSQL dans certaines applications. – adamnfish

Questions connexes