Table des matières:
Vidéo: Microsoft Azure OpenDev—June 2017 2024
Lorsque vous avez besoin d'écritures incroyablement rapides, le stockage flash est nécessaire (par opposition à l'appel de Flash Gordon). Cela vient au prix de l'utilisation de l'espace RAM, bien sûr. L'écriture en RAM vous rapportera, à peu près aussi loin que la taille de votre RAM. Donc, avoir une option de stockage très haut débit immédiatement derrière la mémoire vive de votre serveur est une bonne idée.
De cette façon, lorsqu'une opération de point de contrôle pour vider les données sur le disque est terminée, cela libère de l'espace dans la RAM le plus rapidement possible.
Dépenser de l'argent pour la vitesse
Flash est cher - plus que le disque rotatif traditionnel et la RAM. Il est possible de se débrouiller sans flash en utilisant des matrices de disques rotatifs RAID 10, mais celles-ci ne vous arriveront que jusqu'à présent.
Une approche logique consiste à examiner la vitesse de transmission des données dans votre base de données. Peut-être provisionner 100 pour cent de la taille de vos données de magasin pour un disque tournant, 10 pour cent pour le flash, et un pour cent pour la RAM. Ces chiffres varient en fonction du profil d'accès aux données de votre application et de la fréquence d'accès à ces mêmes données.
Bien sûr, si vous travaillez dans une industrie où les données vieillissent rapidement et que vous avez absolument besoin de garantir le débit d'écriture, une infrastructure tout-flash onéreuse pourrait être pour vous.
Pour vous donner une idée de l'échelle possible dans un magasin de valeurs-clés prenant en charge le flash natif, Aerospike affirme qu'avec un flash natif pour les données et une RAM pour les index, 99,9% des lectures et écritures sont terminées milliseconde.
Calcul de contexte
Aerospike adopte un concept appelé contexte - calcul conscient . L'informatique contextuelle est l'endroit où vous avez une très courte fenêtre de temps pour répondre à une demande, et la réponse correcte est dictée par certaines propriétés de l'utilisateur, telles que l'âge ou les produits achetés. Ces propriétés peuvent inclure:
-
Identité: ID de session, cookies, adresses IP
-
Attributs: Comportement démographique ou géographique
-
: Présence (balayage, recherche, partage), canaux (web, téléphone), services (fréquence, sophistication)
-
Segments: Attitudes, valeurs, style de vie, historique
-
Transactions: Paiements, campagnes
L'idée générale est d'exploiter des données transactionnelles système pour déterminer le plus approprié ou la recommandation pour un client en fonction de divers facteurs. Vous pouvez le faire en utilisant un travail de mappage / réduction Hadoop, par exemple, sur une base de données relationnelle Oracle transactionnelle.
Les sorties sont ensuite stockées dans Aerospike de sorte que lorsqu'un client particulier arrive sur votre site Web et qu'il ait un mélange de la liste de facteurs précédente (modélisée comme une clé composite), le client ou la recommandation est immédiatement donné.
Évaluer Aerospike
Aerospike est le roi du support flash. Plutôt que d'utiliser le support du système de fichiers du système d'exploitation sur le flash, comme le font les autres bases de données (c'est-à-dire, ils traitent essentiellement un disque flash comme n'importe quel autre disque dur), Aerospike accède nativement au flash.
Ce comportement fournit à Aerospike un débit maximal, car il ne doit pas attendre que les appels de fonction du système d'exploitation soient terminés. il accède simplement aux blocs instantanés bruts directement. De plus, Aerospike peut tirer parti des attributs physiques du stockage flash afin d'optimiser les performances.
Aerospike dans le début de dépasser Riak dans les grandes entreprises et les cas d'utilisation critiques, cependant. Il a fonctionnalités - niveau manquantes dans d'autres bases de données, notamment:
-
Consistance ACID complète: Garantit la sécurité et la cohérence des données.
-
Cluster sans partage: A une réplication synchrone pour garder les données cohérentes.
-
Rééquilibrage automatique: Déplace automatiquement certaines données vers de nouveaux noeuds, égalise les temps de lecture et permet la mise à l'échelle et la réduction d'échelle dans un cluster.
-
Prise en charge des fonctions UDF et Hadoop: Les fonctions définies par l'utilisateur peuvent s'exécuter en regard des données pour les requêtes d'agrégation et Hadoop Map / Reduce est pris en charge pour les besoins plus complexes.
-
Index secondaires: Ajoute des index sur les champs de valeur de données pour une recherche rapide.
-
Grands types de données: Prend en charge les types de données personnalisés et volumineux; permet des modèles de données complexes et des cas d'utilisation.
-
Niveau de stockage automatique rinçage sur les écritures: Vide la RAM dans le stockage flash (SSD) et le disque lorsque l'espace sur le niveau le plus rapide est presque épuisé.
Que vous ayez besoin d'une prise en charge flash fulgurante ou non, ces autres fonctionnalités devraient vraiment intéresser les personnes ayant des cas d'utilisation critiques. Si vous évaluez Riak pour un système critique, évaluez aussi Aerospike.