2012-02-25 3 views
0

Existe-t-il un système de stockage NoSQL à base de disque hautement évolutif disponible gratuitement sur le Web? La bonne chose à propos de SQL Server, c'est qu'il évolue, mais c'est un cauchemar de migrer mon projet dans des tables SQL, puisque ce sont tous des objets?Stockage basé sur un document basé sur disque

Les options sont les suivantes: 1. Run de la mémoire 2. sérialisation le document 3. Convertir vers SQL 4. Utilisez un grand stockage de données NoSQL

+0

La plupart des NoSQL sont basés sur des disques. comme Azure Table Storage, très bon. MAIS, pas un libre –

+0

Je ne pense pas qu'il y en ait un qui permette de stocker des données de masse (je me souviens que S3 peut stocker peu de données gratuitement), peut-être utiliser le service d'hébergement de fichiers comme DropBox, puis indexer votre clé dans SQL Server –

+2

La bonne chose à propos de SQL Server, c'est qu'il évolue "- Vraiment ?! C'est plutôt contraire en fait. –

Répondre

3

MongoDB est basé sur le disque, mais bien sûr, il bénéficiera de (beaucoup de) mémoire. Il est Open Source et gratuit et il évolue d'une machine à des milliers en utilisant sharding et la réplication.

Vous pouvez download it et l'exécuter localement, ou vous pouvez utiliser l'un des free hosted solutions.

0

De nombreuses options NoSQL sont proposées sur une licence open source (GPL ou Apache). Tout en cherchant, je suis tombé sur ce listing qui va de manière équitable en donnant une comparaison des caractéristiques de certaines des options. Si vous êtes obligé d'avoir un client C# pris en charge, vous serez un peu plus limité, mais j'examinerais MongoDB et Redis parce que je les ai utilisés dans le passé avec de bons résultats.

1

Au cours des dernières semaines, j'ai eu affaire à la même question; voici mes observations:

  1. SQL Server fonctionne, mais ne se redimensionne pas correctement. Nous avons testé une base de données SQL Server d'environ 600 Go de documents et disons simplement que les choses deviennent très lentes.
  2. Plus ou moins la même chose s'applique à MySQL ... les deux ne sont pas vraiment faits pour les documents ...
  3. Hadoop/HDFS ne semble pas être mature sur Windows. Alors que Microsoft a une implémentation HDFS disponible, elle est encore en phase RC. Du côté positif, si vous développez pour l'avenir (disons 1 an à la production), cela semble être un bon choix.
  4. Apache Cassandra semble mature. Sur le positif, la mise en œuvre est très simple; c'est-à-dire: il s'agit simplement d'un simple magasin de valeurs-clés distribuées avec un seul partitionneur, où la clé et la valeur sont un octet []. Cependant, la simplicité de la mise en œuvre signifie également que vous devez travailler sur toutes sortes de problèmes. Si vous avez travaillé avec, vous savez que c'est génial si vous avez besoin de mettre en œuvre Twitter, mais trop simple pour n'importe quoi d'autre. Il balance bien, mais pour être honnête je ne suis pas trop impressionné par la performance. De plus, j'ai rencontré quelques incohérences/corruptions de données, ce qui ne me réchauffe pas vraiment le cœur ... Si vous utilisez Cassandra, j'utiliserais personnellement Aquiles en tant que client (parce que vous rencontrerez assez facilement des trucs de bas niveau) - mais FluentCassandra est aussi un bon client.
  5. MongoDB est assez mature également. Du côté positif, il est actif et possède une très bonne bibliothèque client C# (contrairement à Cassandra). En outre, bien que le serveur de partition ait crashé plusieurs fois sur mon cluster, la récupération a toujours fait l'affaire (et je ne suis pas trop polie avec les redémarrages :-) et tous les problèmes rencontrés semblent déjà résolus dans la branche développement - donc je ne me sens pas mal à l'aise à ce sujet. La chose la plus importante de MongoDB et de Cassandra est le support des index secondaires.

Toutes ces solutions sont basées sur un disque (par exemple, la persistance sur le disque). J'ai regardé le code de 3-5 et mis en œuvre ma propre solution NoSQL par le passé (il y a environ 6 ans) que nous utilisions depuis des années pour le stockage de données.Pour être honnête, MongoDB est comment je l'aurais implémenté moi-même.

Pour être complet: la seule chose que je n'ai pas encore essayée est CouchDB ... mais franchement, je suis tellement content de MongoDB que je ne vais même pas me tracasser.

-Stefan.