Existe-t-il des bases de données, dans les mondes SQL ou NoSQL, prenant en charge protocol buffers? (Le support pourrait signifier diverses choses, mais j'espère pouvoir inclure l'indexation des champs dans les tampons de protocole.)Y a-t-il des bases de données qui prennent en charge les tampons de protocole?
Répondre
Je n'en connais aucune (pas qu'elles n'existent pas, je ne les connais pas) , mais peut-être vaut-il la peine de discuter d'une autre stratégie et des avantages et des inconvénients.
Généralement, vous voudriez stocker une version sérialisée de votre tampon de protocole, indexée par une clé particulière (un identifiant unique, peut-être). Vous pouvez ensuite créer des index secondaires pour d'autres champs intéressants qui pointent vers cet identifiant unique. L'idée est que vous voudriez que les index explicites comme celui-ci dépassent ce qu'un système fournissant des index arbitraires. Cela ouvre évidemment un monde de nouveaux problèmes (tels que des index arbitraires périmés).
Pourquoi est-ce que quelqu'un voudrait que les clés et autres entités soient stockées dans protobuf? Au lieu de cela, n'importe quelle langue peut fonctionner avec des types primitifs pour l'indexation de base de données, mais cela ne veut pas dire qu'il doit être utilisé partout. n'importe quel sens, – mamu
Si vous voulez utiliser votre base de données sur plusieurs machines, vous aurez probablement besoin de gérer vous-même les index secondaires au lieu de vous fier à un logiciel de base de données pour le faire. – allenporter
Voici un projet que je trouve: https://github.com/google/mysql-protobuf
Il est sql qui parle protobuf, semble prometteur mais la dernière validation a été à la mi-Mars 2016.
- 1. Y a-t-il des bases de données en mémoire qui prennent en charge les colonnes calculées?
- 2. Quelles bases de données prennent en charge le cryptage
- 3. version compressible des tampons de protocole
- 4. Comment utiliser les tampons de protocole?
- 5. Comment les tampons de protocole peuvent-ils prendre en charge la sérialisation/désérialisation des conteneurs std?
- 6. Tampons de protocole avec des extensions
- 7. Les modules de base de données Qt prennent-ils en charge les bases de données distantes via une connexion réseau?
- 8. Google tampons de protocole comparer
- 9. Liste des applications iPhone qui prennent en charge openURL:
- 10. Aller intégration avec les tampons de protocole?
- 11. Contrôles Delphi riches qui prennent en charge les recherches RegEx
- 12. Liste complète des polices qui prennent en charge
- 13. les lecteurs vidéo qui prennent en charge pour dot net?
- 14. Génération d'une définition de tampons de protocole
- 15. Tampons de protocole Google et servlets
- 16. Tampons de protocole de Google dans C#
- 17. Envoi de tampons de protocole via REST
- 18. Adobe Flash prend-il en charge les bases de données?
- 19. Tous les ORM qui prennent en charge facilement l'accès au schéma de table brute?
- 20. Performance de getSerializedSize() dans les tampons de protocole
- 21. Déplacez les opérations qui prennent beaucoup de temps en charge de la page
- 22. Déplacer des opérations qui prennent beaucoup de temps en charge de la page
- 23. Prise en charge de plusieurs bases de données dans Symfony
- 24. Les linkers GWT prennent-ils en charge les paramètres?
- 25. quels combinés prennent en charge javascript/AJAX
- 26. Diffuser le protocole d'authentification qui prend en charge l'authentification multifacteur
- 27. Quels conteneurs IoC prennent en charge Silverlight?
- 28. Quelles classes Ruby prennent en charge .clone?
- 29. Les fichiers Batch prennent-ils en charge les variables multilignes
- 30. Quels moteurs de base de données prennent en charge les adresses IP en tant que type natif?
15 minutes passé googler ne se sont pas des résultats positifs. Hadoop HBase utilise des tampons de protocole dans le cadre des communications de service et possède une API de client Thrift, mais rien dans la couche de stockage de données. Hadoop Avro est dans le même espace que PB, peut-être verrons-nous l'intégration avec HBase à l'avenir? – mdma
Pourquoi ne pas simplement utiliser une base de données relationnelle (mettre chaque valeur dans sa propre colonne plutôt que toutes les valeurs dans une colonne)? –
@Brendan: Bien sûr, c'est une façon de faire. La plupart du temps, j'ai été surpris qu'aucune des bases de données noSQL n'ait une solution prête à l'emploi, étant donné que certains, comme MongoDB, stockent des blobs binaires similaires. –