Y a-t-il un système multicœur fonctionnant? NoSQL?

Je joue avec MongoDB D'hier et l'aime absolument. J'essaie d'importer beaucoup de données /2 rang/ et indexez-les, mais il semble qu'ils n'utilisent pas 8 les noyaux qui sont dans mon système et mes importations sont à la vitesse normale /60000 records/sec/./. Existe-t-il des bases de données de type existant MondoDB, qui utilise la nature multicœur CPUs?
Invité:

Giselle

Confirmation de:

Si MongoDB Il y a Achille Cinquièmement, alors c'est le fait qu'il ne supporte qu'un enregistrement à une seule-filetage et une carte de réduction unique.

Comme toujours, il y a des compromis ici. Un enregistrement à un filetage est le moyen le plus simple d'éviter de bloquer les problèmes et de minimiser les frais généraux. De même, les cartes multi-filetées sont un excellent moyen de bloquer vos données. Ainsi, les réductions de débit unique dans le système de production sont probablement plus faciles et plus sûres.

Cependant, vous n'êtes pas sans outils. MongoDB Fournir un flux d'enregistrement pour chaque instance. Donc, si vous êtes un fragment MongoDB, Vous recevrez un flux d'entrée pour chaque fragment.

Si vous avez besoin de quelques index sur 2 Des milliards de lignes, vous voulez toujours regarder la segmentation. Un peu de mathématiques rapides ici: MongoID - c'est 12 octet. Indice sur MongoID sera égal 2B * 12 octet = 22GB+. Si vous voulez maintenant ajouter deux autres index /Même seulement deux entiers de 4 octets/, on parle de 7.5GB pour tout le monde.

Ainsi, dans les lignes 2B Vous parlez de la présence de plus 37 GB dans les index /

le minimum

/. Sur la plupart des serveurs 8-nucléaires, cela signifie que vous ne serez même pas capable de stocker vos index en mémoire, sans parler de données.

Par conséquent, si vous avez besoin d'une performance sérieuse ici, vous voudrez commencer à regarder les fragments. Juste basé sur des nombres communs. FWIW, MySQL ne serait pas plus habile dans la manipulation de documents 2B. Avec un tel nombre de données, vous avez vraiment besoin de plusieurs serveurs pour suivre la charge.

Pour répondre aux questions, connectez-vous ou registre