Nosql échelle

Une caractéristique commune des systèmes NoSQL est leur capacité à évoluer sur plusieurs serveurs de produits de base. Ces plates-formes relativement bon marché signifient que vous pouvez faire évoluer des bases de données en ajoutant un nouveau serveur plutôt que de remplacer du vieux matériel avec le nouveau matériel, plus puissante en un seul coup.

Il ya haute # Utiliser 8208 volume cas qui va rapidement vous forcer à monter en charge. Ceux-ci inclus

  • Vous recevez des rapports d'état et les messages du journal à travers un paysage informatique. Ce scénario nécessite des temps de ingest rapides, mais il n'a probablement pas besoin de soutien de l'analyse avancée.

  • Vous voulez haute # 8208 cache-vitesse pour des requêtes complexes. Peut-être que vous souhaitez obtenir les dernières nouvelles sur un site Web. Ici, lisez caches prennent l'importance au cours des vitesses de requête ou d'ingérer.

La seule chose commune à la performance de toutes les bases NoSQL est que vous ne pouvez pas compter sur les données publiées - rien de tout cela - de comprendre ce que la performance est susceptible d'être sur vos données, pour votre propre cas d'utilisation.

Vous pouvez certainement pas compter sur la promesse d'un fournisseur de base de données particulière sur les performances! De nombreux fournisseurs citent des vitesses élevées ingérer contre un cas d'utilisation artificielle qui est pas une utilisation réaliste de leur base de données, comme preuve de la suprématie de leur base de données.

Cependant, le problème est que ces mêmes études peuvent ignorer totalement la vitesse de la requête. Quel est le point dans le stockage de données si vous ne l'utilisez?




Ces études peuvent également être effectuées sur les systèmes où les principales caractéristiques sont désactivées. Indices de sécurité ne peuvent pas être activés, ou peut-être le support des transactions ACID est éteint pendant l'étude afin que les données sont stockées rapidement, mais il n'y a aucune garantie qu'il est sécuritaire.

Tout cela signifie que vous devez faire vos propres tests, ce qui est assez facile, mais assurez-vous que le test est aussi près de votre système final que possible. Par exemple, il est inutile de tester un seul serveur si vous prévoyez de l'échelle à 20 serveurs. En particulier, assurez-vous d'avoir un mélange précis de l'ingestion, la modification et l'interrogation des données.

Pensez à demander à votre fournisseur NoSQL ces questions:

  • Pouvez-vous vous assurer que tous les chiffres redimensionnement et les performances indiqués sont pour des systèmes qui garantissent les transactions ACID cours ingérer qui soutiennent réel # indexation 8208-temps, et qui comprennent un mélange réaliste de l'admission et les requêtes de lecture / d'interrogation?

  • Est-ce que votre produit fournit des fonctionnalités qui font qu'il est facile d'augmenter la capacité d'un serveur?

  • Est-ce que votre produit fournit des fonctionnalités qui le rendent facile à enlever la capacité du serveur utilisé?

  • Est la vitesse de la requête de données de votre produit limitée par la quantité d'information qui doit être mis en cache dans la RAM?

  • Est-ce que votre produit, utilisez une carte mémoire stratégie qui exige que tous les indices qui se tiendra dans la RAM pour une performance adéquate (mémoire mappée désigne la quantité maximale de données stockées est la même que la quantité de RAM physique installée)?

  • Votre base de données peut maintenir des temps # 8208-deuxième réponse des requêtes sous tout en recevant des mises à jour de haute # 8208-fréquence?

  • Le système veille à ce que aucun temps d'arrêt est nécessaire pour ajouter ou supprimer la capacité du serveur?

  • Le système veille à ce que l'information est immédiatement disponible pour requête après il est ajouté à la base de données?

  • Le système veille à ce que la sécurité des données est maintenu sans affecter la vitesse de requête?

  • Le système veille à ce que l'échelle # 8208-out et l'échelle # 8208-dos les capacités de la base de données sont scriptable et qu'ils vont intégrer à votre logiciel de provisionnement du serveur choisi (par exemple, VMWare et Amazon Cloud Formation)?