Open source populaire - première partie: 3 outils pour travailler avec des données

Nous avons décidé de préparer une série de résumés avec des critiques des projets open source les plus populaires. La liste comprend les solutions open source les plus parlées chez Hacker News. Le sujet de la première collection est les outils et services pour travailler avec les journaux et les bases de données .


/ photo AKT.UZ PD

Nous parlerons de solutions comme FoundationDB , LogDevice et Queryparser . L'année dernière, ils ont été activement discutés à Hacker News. L'intérêt a été provoqué par le fait que de grandes sociétés informatiques - Apple, Uber et Facebook ont ​​été impliquées dans leur développement. Cela signifie que les trois outils sont adaptés pour travailler avec une infrastructure informatique à grande échelle et très chargée.


Foundationdb



FoundationDB est un SGBD multimodèle de type NoSQL . Il a été introduit en 2012 par trois ingénieurs de Visual Sciences, qui ont travaillé sur une plateforme de visualisation de données (il fait aujourd'hui partie d'Adobe Analytics).

Contrairement à d'autres systèmes similaires, les opérations dans FoundationDB sont conformes aux principes de l' ACID : atomicité, cohérence, isolement et durabilité des données. Les SGBD qui adhèrent à ce modèle sont considérés comme les plus fiables et prévisibles, mais dans NoSQL, certains principes ACID sont souvent sacrifiés pour de meilleures performances.

Un autre avantage de FoundationDB est sa puissante interface de bas niveau. Avec son aide, tout système peut utiliser un SGBD pour le stockage de données distribué. Par exemple, sur la base de FoundationDB, vous pouvez créer des interfaces pour des SGBD universels plus grands.

Grâce à ces caractéristiques, FoundationDB est rapidement devenu populaire. Il a été implémenté par plusieurs services cloud: le service de surveillance Wavefront (désormais intégré à VMware) et les systèmes de stockage Snowflake et SkuVault. La popularité de FoundationDB a également été influencée par le fait que depuis sa création, le code source du projet est ouvert.

Tout a changé en 2015 lorsque Apple a acquis la société. Le géant informatique a fermé l'accès au code FoundationDB et a commencé à utiliser le SGBD dans ses propres services en ligne. Cette solution a causé des problèmes aux développeurs qui utilisaient FoundationDB dans leurs projets. Mais en avril 2018, Apple a décidé de rendre le SGBD open source. Cela a profité non seulement à la communauté informatique, mais aussi à Apple elle-même. En deux semaines , plus de sept mille développeurs ont manifesté leur intérêt pour le projet et une centaine de nouveaux fils ont été ouverts lors du forum thématique .

Le géant de l'informatique a décidé de continuer à adhérer à la stratégie de "l'ouverture". En novembre 2018, un nouveau composant SGBD a été introduit - Document Layer - il vous permet de créer des référentiels de documents. À l'avenir, il est prévu de développer des outils supplémentaires. Et tout le monde peut contribuer à la création du produit. Vous pouvez apprendre à le faire dans le référentiel officiel sur GitHub - il y a une instruction détaillée .


Logdevice



LogDevice est un système de stockage de journaux distribué créé sur Facebook. Il est optimisé pour l'enregistrement séquentiel des données entrantes: toute information dans le système est sauvegardée non pas dans un fichier séparé, mais dans le cadre d'un certain «flux d'enregistrement». Cela vous permet de déterminer avec précision l'ordre dans lequel les données sont reçues.

Initialement, le projet était utilisé pour des tâches internes de Facebook, mais en septembre 2018, la société a ouvert son code source. Jusqu'à ce moment, LogDevice n'était pas si bien connu dans la communauté informatique, mais certains lecteurs de Hacker News étaient déjà intéressés par l'outil. Par exemple, a noté son potentiel dans les systèmes de stockage pour l'apprentissage automatique.

Mais il y a une opinion que la solution Facebook gagnera lentement en popularité. Il existe un grand nombre d'outils similaires sur le marché (par exemple, Apache Kafka). Et ils ont déjà un grand nombre d'intégrations, et LogDevice n'a qu'à les obtenir. Soit dit en passant, les développeurs de l'outil travaillent actuellement à l'introduction de l'intégration de LogDevice avec le système d'orchestration des conteneurs Kubernetes.

Tout le monde est invité à participer - les exigences du code sont décrites dans un document de référentiel séparé sur GitHub .


/ photo Alexander Day CC BY


Queryparser



Queryparser est un système d'analyse pour trois dialectes SQL: Vertica, Hive et Presto. Comme LogDevice, Queryparser a été créé à l'origine pour les tâches internes d'une grande entreprise informatique - cette fois, le projet est né à Uber.

En 2015, les ingénieurs de l'entreprise ont décidé de mettre à jour le système de dénomination des objets dans les bases de données et de remplacer les noms au format d'entiers par des nombres selon la norme UUID . Pour réécrire tous les identifiants, les ingénieurs devaient identifier tous les liens dans les tableaux. Cela s'est avéré être une tâche difficile: des dizaines de milliers de tableaux avec des données appartenant à différents services de l'entreprise ont été stockés dans Uber. Pour établir des connexions entre plusieurs bases de données, les développeurs ont créé Queryparser.

L'outil a réussi la tâche, mais les ingénieurs ont trouvé d'autres applications possibles. Par exemple, surveillance automatique des changements dans les bases de données. Queryparser enregistre toutes les requêtes sur la combinaison de flux de données ou la création de nouveaux flux et informe les utilisateurs de la base de données affectés par ces modifications.

Queryparser a également aidé Uber à collecter des statistiques sur les requêtes SQL et à optimiser le stockage: les tables rarement utilisées ont été supprimées et les bases de données souvent référencées ont été combinées.

Le code source de Queryparser était ouvert depuis le tout début du projet, mais seulement en 2018 Uber a publié un article détaillé sur l'outil. Il peut être considéré comme un guide pour travailler avec le système. Et dans le référentiel, vous pouvez trouver des instructions d'installation et des instructions pour ceux qui souhaitent participer au développement de Queryparser.

À l'avenir, Uber prévoit de développer davantage la solution. Par exemple, ajoutez la prise en charge de nouveaux dialectes SQL: PostgreSQL, MySQL et SQLite. La tâche de l'entreprise consiste également à ajouter la vérification du type de données dans les requêtes et à traduire les requêtes d'un dialecte à l'autre.



La prochaine fois, nous continuerons l'histoire des projets open source populaires de 2018. Parlons des solutions de gestion cloud open source et des outils de développement.



Quelques articles du premier blog IaaS d'entreprise:


Ce que nous écrivons sur la chaîne Telegram:

Source: https://habr.com/ru/post/fr436962/


All Articles