Wir haben uns entschlossen, eine Reihe von Zusammenfassungen mit Rezensionen der beliebtesten Open Source-Projekte zu erstellen. Die Liste enthält die am häufigsten diskutierten Open Source-Lösungen bei Hacker News. Das Thema der ersten Sammlung sind
Tools und Services für die Arbeit mit Protokollen und Datenbanken .
/ Foto AKT.UZ PDWir werden über Lösungen wie
FoundationDB ,
LogDevice und
Queryparser sprechen . Letztes Jahr wurden sie bei Hacker News aktiv diskutiert. Das Interesse wurde durch die Tatsache verursacht, dass große IT-Unternehmen - Apple, Uber und Facebook - an ihrer Entwicklung beteiligt waren. Dies bedeutet, dass alle drei Tools für die Arbeit mit einer großen und hoch ausgelasteten IT-Infrastruktur geeignet sind.
FoundationDB ist ein DBMS mit mehreren Modellen vom Typ
NoSQL . Es wurde 2012 von drei Ingenieuren aus Visual Sciences eingeführt,
die an einer Datenvisualisierungsplattform arbeiteten (heute ist es Teil von Adobe Analytics).
Im Gegensatz zu anderen ähnlichen Systemen entsprechen die Vorgänge in FoundationDB den Prinzipien von
ACID : Atomizität, Konsistenz, Isolation und Dauerhaftigkeit von Daten. DBMS, die diesem Modell entsprechen, gelten als die zuverlässigsten und vorhersehbarsten. In NoSQL werden jedoch einige ACID-Prinzipien häufig für eine bessere Leistung geopfert.
Ein weiteres Plus von FoundationDB ist die leistungsstarke Low-Level-Oberfläche. Mit seiner Hilfe kann jedes System ein DBMS zur verteilten Datenspeicherung verwenden. Basierend auf FoundationDB können Sie beispielsweise Frontends für größere universelle DBMS erstellen.
Dank dieser Eigenschaften wurde FoundationDB schnell populär. Es wurde von mehreren Cloud-Diensten implementiert : dem Wavefront-Überwachungsdienst (jetzt Teil von VMware) und den Speichersystemen Snowflake und SkuVault. Die Popularität von FoundationDB wurde auch durch die Tatsache beeinflusst, dass der Quellcode des Projekts seit seiner Gründung offen war.
Alles änderte sich 2015, als Apple
das Unternehmen übernahm. Der IT-Riese hat den Zugriff auf den FoundationDB-Code geschlossen und das DBMS in seinen eigenen Onlinediensten eingesetzt. Diese Lösung verursachte einige Probleme für Entwickler,
die FoundationDB in ihren Projekten verwendeten. Im April 2018 entschied sich Apple jedoch, das Open-Source-DBMS zurückzugeben. Davon haben nicht nur die IT-Community, sondern auch Apple selbst profitiert. In zwei Wochen
zeigten mehr als siebentausend Entwickler
Interesse an dem Projekt, und im
thematischen Forum wurden hundert neue
Themen eröffnet.
Der IT-Riese hat beschlossen, weiterhin an der Strategie der "Offenheit" festzuhalten. Im November 2018 wurde eine neue DBMS-Komponente
eingeführt - Document Layer - mit der Sie Dokument-Repositorys erstellen können. In Zukunft ist geplant, zusätzliche Tools zu entwickeln. Und jeder kann zur Entwicklung des Produkts beitragen. Wie das geht, erfahren Sie im offiziellen Repository auf GitHub - es
gibt eine detaillierte Anleitung .
LogDevice ist ein verteiltes Protokollspeichersystem, das auf Facebook erstellt wurde. Es ist für die sequentielle Aufzeichnung eingehender Daten optimiert: Alle Informationen im System werden nicht als separate Datei, sondern als Teil eines bestimmten „Aufzeichnungsstroms“ gespeichert. Auf diese Weise können Sie die Reihenfolge, in der Daten empfangen werden, genau bestimmen.
Ursprünglich wurde das Projekt für interne Aufgaben von Facebook verwendet, doch im September 2018 öffnete das Unternehmen seinen Quellcode. Bis zu diesem Moment war LogDevice in der IT-Community nicht so bekannt, aber einige der Leser von Hacker News waren bereits an dem Tool interessiert. Beispielsweise wurde sein Potenzial in Speichersystemen für maschinelles Lernen
festgestellt .
Es besteht jedoch die Meinung, dass die Facebook-Lösung langsam an Popularität gewinnen wird. Es gibt eine große Anzahl ähnlicher Tools auf dem Markt (zum Beispiel Apache Kafka). Und sie haben bereits eine große Anzahl von Integrationen, und LogDevice muss sie nur erhalten. Übrigens arbeiten die Entwickler des Tools jetzt
daran , die Integration von LogDevice in das Kubernetes-Container-Orchestrierungssystem einzuführen.
Jeder ist zur Teilnahme eingeladen - die Code-Anforderungen werden
in einem separaten Repository-Dokument auf GitHub beschrieben .
/ Foto Alexander Day CC BY
Queryparser ist ein Parsing-System für drei SQL-Dialekte: Vertica, Hive und Presto. Queryparser wurde wie LogDevice ursprünglich für die internen Aufgaben eines großen IT-Unternehmens erstellt - diesmal entstand das Projekt in Uber.
Im Jahr 2015 beschlossen die Ingenieure des Unternehmens, das System zur Benennung von Objekten in den Datenbanken zu aktualisieren und die Namen im Format von Ganzzahlen durch Zahlen gemäß dem
UUID- Standard zu ersetzen. Um alle Bezeichner neu zu schreiben, mussten die Ingenieure alle Verknüpfungen in den Tabellen identifizieren. Dies stellte sich als schwierige Aufgabe heraus: Zehntausende von Tabellen mit Daten, die zu verschiedenen Abteilungen des Unternehmens gehörten, wurden in Uber gespeichert. Um Verbindungen zwischen mehreren Datenbanken herzustellen, haben die Entwickler Queryparser erstellt.
Das Tool hat die Aufgabe erfolgreich abgeschlossen, aber die Ingenieure haben andere mögliche Anwendungen dafür gefunden. Zum Beispiel automatische Überwachung von Änderungen in Datenbanken. Queryparser speichert alle Abfragen zum Kombinieren oder Erstellen neuer Datenströme und benachrichtigt Datenbankbenutzer, die von diesen Änderungen betroffen sind.
Queryparser half Uber auch dabei, Statistiken über SQL-Abfragen zu sammeln und den Speicher zu optimieren: Selten verwendete Tabellen wurden gelöscht und Datenbanken, die häufig aufeinander bezogen waren, wurden kombiniert.
Der Quellcode für Queryparser war von Anfang an geöffnet, aber erst 2018 veröffentlichte Uber einen ausführlichen Artikel über das Tool. Es kann als Leitfaden für die Arbeit mit dem System angesehen werden. Im Repository finden Sie Installationsanweisungen und Anweisungen für diejenigen, die an der Entwicklung von Queryparser teilnehmen möchten.
Uber
plant , die Lösung in Zukunft weiterzuentwickeln. Fügen Sie beispielsweise Unterstützung für neue SQL-Dialekte hinzu: PostgreSQL, MySQL und SQLite. Zu den Aufgaben des Unternehmens gehört auch das Hinzufügen von Datentypprüfungen in Abfragen und das Übersetzen von Abfragen von einem Dialekt in einen anderen.
Das nächste Mal setzen wir die Geschichte über die beliebten Open Source-Projekte von 2018 fort. Lassen Sie uns über Open Source Cloud Management-Lösungen und Entwicklertools sprechen.
Einige Beiträge aus dem First Corporate IaaS Blog:
Worüber wir im Telegrammkanal schreiben: