Clickhouse ist ein von Yandex entwickeltes Open-Source-Datenbankmanagementsystem (DBMS) mit spaltenorientierter Architektur, das für die Online Analytical Processing (OLAP) verwendet wird. Derzeit wird es von Yandex Metrica, der zweitgrößten Webanalyseplattform, betrieben. Es kann auch als das erste Open-Source-SQL-Data Warehouse angesehen werden, das jemals die Skalierbarkeit und Leistung von Datenbanken wie Veryica und Snowflake erreicht hat. Dank spaltenorientierter Speicherung und Komprimierung erreichte ClickHouse eine der besten Verarbeitungsleistungen aller Konkurrenten. Die Datenverarbeitungsgeschwindigkeit von ClickHouse erreicht bis zu 30 GB/s und steigt bei verteilter Verarbeitung linear an.
ClickHouse ist das erste Open-Source-SQL-Data-Warehouse, das die Leistung und Skalierbarkeit proprietärer Datenbanken wie Sybase IQ, Vertica und Snowflake erreicht. Es umfasst unter anderem die folgenden Funktionen:
- Spaltenspeicher, der Tabellen mit Billionen von Zeilen und Tausenden von Spalten verarbeitet.
- Fehlertoleranz und Lese-Skalierung dank integrierter Replikation.
- Hervorragende Aggregation durch materialisierte Ansichten.
- Funktionen zum Lösen realer Probleme wie Trichteranalysen und Last-Point-Abfragen.
Die Entwicklung von ClickHouse wird von einer Community aus Hunderten von Mitwirkenden vorangetrieben, deren Schwerpunkt auf der Lösung echter Probleme und nicht auf der Umsetzung von Unternehmens-Roadmaps liegt.
Geschichte
Die Technologie von ClickHouse wurde erstmals vor über 10 Jahren bei Yandex, Russlands größtem Technologieunternehmen, im Jahr 2009 entwickelt.
- ClickHouse wurde vom russischen IT-Unternehmen Yandex für Yandex.Metica entwickelt.
- Bei der Speicherung von Rohdaten in aggregierter Form verwendete Metrica bisher einen klassischen Ansatz, der dabei hilft, die Menge der gespeicherten Daten zu reduzieren.
- Ein anderer Ansatz ist die Speicherung aggregierter Daten. Die Verarbeitung von Rohdaten erfordert ein Hochleistungssystem, da alle Berechnungen in Echtzeit erfolgen. Um dieses Problem zu lösen, ist ein spaltenorientiertes DBMS erforderlich, um analytische Daten im gesamten Internet-Umfang verarbeiten zu können.
- Der erste ClickHouse-Prototyp erschien 2009.
- Ende 2014 wurde Yandex.Metrica Version 2.0 veröffentlicht. Die neue Version verfügt über eine Schnittstelle zum Erstellen benutzerdefinierter Berichte und verwendet ClickHouse zum Speichern und Verarbeiten von Daten.
Funktionen von ClickHouse
Hier sind die folgenden Hauptfunktionen von ClickHouse, wie zum Beispiel:
- Echtes spaltenorientiertes DBMS: Es werden keine zusätzlichen Daten mit den Werten gespeichert. Das bedeutet, dass die Werte konstanter Länge unterstützt werden müssen, um zu vermeiden, dass ihre Längenzahl neben den Werten gespeichert wird.
- Lineare Skalierbarkeit: Es ist möglich, einen Cluster durch Hinzufügen von Servern zu erweitern.
- Fehlertoleranz: Das System ist ein Cluster aus Shards, wobei jeder Shard eine Gruppe von Replikaten ist. ClickHouse verwendet asynchrone Multi-Master-Replikation und kann in mehreren Rechenzentren eingesetzt werden. Daten werden in jedes verfügbare Replikat geschrieben und an alle verbleibenden Replikate verteilt. Zookeeper wird zur Koordinierung von Prozessen verwendet, ist aber nicht an der Abfrageverarbeitung und -ausführung beteiligt.
- SQL-Unterstützung: ClickHouse unterstützt eine erweiterte SQL-Sprache, die Arrays und verschachtelte Datenstrukturen, Näherungs- und URI-Funktionen sowie die Möglichkeit zum Anschließen eines externen Schlüssel-Wert-Speichers umfasst.
- Hohe Leistung: Für eine hohe CPU-Leistung wird ein Vektorberechnungsansatz verwendet. Bei diesem Ansatz werden Daten spaltenweise gespeichert und vektoriell (Spaltenteile) verarbeitet. Er unterstützt Stichproben- und Näherungsberechnungen. Außerdem sind parallele und verteilte Abfrageverarbeitungen verfügbar, einschließlich JOINs.
- HDD-Optimierung: Das System kann Daten verarbeiten, die nicht in den Arbeitsspeicher passen.
- Blitzschnell: ClickHouse nutzt das Potenzial der gesamten verfügbaren Hardware voll aus, um jede Abfrage schnellstmöglich zu verarbeiten.
- Einfach zu verwenden: ClickHouse ist einfach und sofort zum Erstellen von Berichten verfügbar. Mit der SQL-Sprache können Sie das gewünschte Ergebnis ohne die Verwendung einer benutzerdefinierten, nicht standardmäßigen API, die in einigen alternativen Systemen zu finden ist, ausdrücken.
- Hohe Zuverlässigkeit: ClickHouses DBMS kann als verteiltes System auf unabhängigen Knoten ohne einzelne Ausfallpunkte konfiguriert werden. Es enthält außerdem viele Sicherheitsfunktionen auf Unternehmensniveau und ausfallsichere Mechanismen gegen menschliche Fehler.
- Clients für Datenbankkonnektivität: Zu den Datenbankverbindungsoptionen gehören der Konsolenclient, die HTTP-API oder einer der Wrapper. Für ClickHouses ist auch ein JDBC-Treiber verfügbar.
Was können Sie mit ClickHouse tun?
- Abfragen von Milliarden von Tabellenzeilen und Gigabyte an Daten in Sekunden
- Führen Sie Ihre OLAP-Abfragen effizient, schnell und genau aus
- Daten aus verschiedenen Quellen zusammenführen – einschließlich lokaler Cluster und externer Systeme
- Konfigurieren Sie ClickHouse als verteiltes System auf unabhängigen Knoten, ohne sich über Ausfälle Gedanken machen zu müssen
- Übernehmen Sie alle Ihre strukturierten Daten in die Datenbank und nutzen Sie sie für Echtzeitberichte.
Warum ist ClickHouse die beste Wahl für Improvado?
Als vollautomatische ETL-Plattform für Marketing bietet Improvado seinen Kunden Managed-Warehouse-Services. Da wir selbst Marketingexperten sind, wissen wir, wie wichtig Daten für die Erstellung und Anpassung von Kampagnen sind. Künstliche Einschränkungen wie die Preisgestaltung pro Abfrage in Kombination mit geringer Leistung wirken sich negativ auf die Ergebnisse von Analysen und Kampagnenoptimierungen aus. Deshalb suchten wir nach einer Lösung, die Daten schnell verarbeitet und den Analyseprozess nicht einschränkt. ClickHouse schien der beste Kandidat zu sein.
Im Gegensatz zu anderen spaltenorientierten Datenbanken speichert ClickHouse Daten nicht nur, sondern verarbeitet sie auch in Spalten. Dies führt zu einer weitaus ausgewogeneren und effizienteren CPU-Cache-Auslastung und ermöglicht die Verwendung von SIMD-CPU-Anweisungen. Darüber hinaus ist ClickHouse eine sehr skalierbare Lösung. Es kann alle CPU-Kerne nutzen, um eine einzelne SQL-Abfrage auszuführen.
ClickHouse-Preismodell
Was ist also das Besondere an ClickHouse, abgesehen von seiner Leistung? Seine enorme Ausführungsgeschwindigkeit kann fast kostenlos erreicht werden. ClickHouse verlangt kein Geld, wenn Sie es auf Ihren physischen Maschinen einsetzen möchten. Aber wenn Sie Snowflake oder Redshift in Betracht gezogen haben, ist eine Vor-Ort-Lösung höchstwahrscheinlich nicht das Richtige für Sie.
Der Hauptvorteil von ClickHouse liegt in seinen vernünftigen Preisbedingungen. Im Gegensatz zu anderen Data Warehouses konnten wir mit ClickHouse ein vorhersehbares Preismodell entwickeln, bei dem nicht für jeden Vorgang mit Daten Geld berechnet wird. Analysten können sich auf die reine Analyse konzentrieren, ohne über die rationale Verwendung von Credits, Tokens oder der Währung Ihrer Plattform nachdenken zu müssen, und haben unbegrenzten Zugriff auf Daten und Abfragen.
Mehr lesen: Was ist Rapid7 und welche Anwendungsfälle gibt es für Rapid7?
Einpacken
Wie man sieht, ist ClickHouse ein vielseitiges Tool, das in Kombination mit einer automatisierten Datenpipeline unbegrenzte Möglichkeiten für Marketinganalysten bietet. Eine herausragende Leistung, Kosteneffizienz und Interoperabilität mit Business-Intelligence-Tools machen ClickHouse zu einer starken Alternative zu gängigen Lösungen. Jetzt müssen sich Vermarkter keine Sorgen mehr machen, zu viele Ressourcen für Experimente aufzuwenden, und können sich voll und ganz der Marketinganalyse widmen.
Ich hoffe, Ihnen gefällt dieser Blog. Vielen Dank!!