URL: https://www.overclockers.at/storage-memory/database-fuer-data-science-analytics_253012/page_1 - zur Vollversion wechseln!
Hey,
wir suchen für die Arbeit eine Lösung, wo wir zentral und komfortabel unsere Daten lagern können, um damit zu arbeiten.
Erst einmal paar Infos:
- Kein Production Server (worauf Kunden Zugriff hätten) oder ähnliches.
- Keine Cloud Lösung
- Soll für Data Science (aktuell 3 Leute) und Business Intelligence (3-5 Leute) genutzt werden
- Data Science arbeitet mit Python, Business Intelligence mit Tools wie Power BI
- Daten sind z.B. Nutzerprofile, Unternehmensdaten, gescrapte Daten, interne Trackingdaten aus unterschiedlichen Prozessen etc. (kein Video, Bild, Audio, Word, pdfs oder ähnliches)
- Datenmenge insg. ist aktuell < 1TB.
- Kein realtime analytics, alles batch processing
- Ein batch an Daten, mit dem gleichzeitig gearbeitet wird, beläuft sich aktuell im worst case auf ca. 10-15GB. Könnte jedoch in Zukunft etwas ansteigen. Aber Geschichten wie 100GB+ wird es in naher Zukunft auf jeden Fall nicht geben.
- Eine Art Frontend, wo einfache Sachen auch dort an- und nachgeschaut + visualisiert werden können (Graphen etc.), wäre nett.
Aktuell holen wir uns von unseren Production Servern immer einen json-Export zum Arbeiten, was aber nervig ist, weil es doch sehr unorganisiert ist. Diese dumps werden dann hin und her geschoben, was wir in Zukunft vermeiden wollen. Stattdessen wollen wir einen zentralen Datastorage haben, wo alle für uns relevanten Daten liegen.
Ich vermute, das hierfür ein vernünftiger Rechner (darf gerne auch z.B. ein Threadripper mit 64GB+ Ram sein, wenns nötig ist) im Netzwerk mit einer Datenbank ausreichend sein sollte. Bin für Inspirationen offen
Geschichten wie Spark, Hadoop, Yarn etc. sind sehr sicher overkill.
Konkret: Wie wärs z.B. mit MongoDB hierfür?
Bin mal sehr auf die Empfehlungen gespannt, bei uns ist relativ ähnlich von den Anforderungen und Softwarestack nur das derzeit weniger Leute damit arbeiten, was sich in nächster Zeit aber recht sicher ändern wird.
In der letzten Firma wurde dafür einfach eine Postgress verwendet. Jetzt sinds in einer Oracle DB da auch deren BI Produkt verwendet wird
Wie liegen die Daten vor?
Wie kommen die Daten rein?
Was für eine Datenbank wird für Produktion genutzt?
Bei relationalen Daten sind auch relationale Datenbanken ganz weit vorne. Wenn du allerdings einen Haufen JSONs verwalten willst die Teilweise ähnlichen Inhalten ist MongoDB das Mittel der Wahl. wenn du beides benötigst kannst du dir mal MariaDB AX ansehen.
Zitat aus einem Post von Crash OverrideWie liegen die Daten vor?
Zitat aus einem Post von Crash OverrideWie kommen die Daten rein?
Zitat aus einem Post von Crash OverrideWas für eine Datenbank wird für Produktion genutzt?
Zitat aus einem Post von Crash OverrideBei relationalen Daten sind auch relationale Datenbanken ganz weit vorne. Wenn du allerdings einen Haufen JSONs verwalten willst die Teilweise ähnlichen Inhalten ist MongoDB das Mittel der Wahl. wenn du beides benötigst kannst du dir mal MariaDB AX ansehen.
Relationale Daten willst du nicht mit MongoDB verarbeiten. Das passt nicht zusammen.
MariaDB/MySQL könntest du als Slave an die Produktionsserver mit MySQL hängen und mit Replikationsfiltern und Triggern (Ab MariaDB 10.1 funktionieren Trigger in der Replikation) die Daten aufbereiten.
Habe mal noch einmal mit meinem Kollegen gesprochen, der sich um die Production Server kümmert: Die Rohdaten sind wohl viel zu inhomogen, weshalb eine relationale Datenbank wohl nicht optimal ist
D.h. Datenbank muss gut mit JSONs umgehen. MongoDB mit besserer Suchperformance (besonders für die Kollegen mit BI-Tools) wäre ideal. Paar Minuten warten, bis der Query ausgeführt ist, soll nicht vorkommen.
MariaDB AX hat ihm als Vorschlag auch ganz gut gefallen, wobei wir schauen müssten, wie gut das mit JSONs klappt.
Palo von jedox könnte hier hilfreich sein. Hab damit mal vor (hmm ich glaub inzwischen) 7 jahren auf der FH gearbeitet. Die hatten damals schon ziemlich coole connectoren auch zu Excel womit jeder sich seine daten rausziehen konnte
Aber kA, ob die Lösung heute noch immer so genial ist. Auf der Homepage steht zumindest, dass es mal mit MongoDB Mysql etc connecten kann und sich die Daten ziehen kann. Von daher dürfte der Sprung zu Redis Elastics und memcached ned wirklich weit entfernt sein, bzw. vermutlich eh auch vorhanden sein
Postgresql eignet sich auch für json daten.
Der Guardian ist von mongodb auf postgresql gewechselt: https://www.theguardian.com/info/20...-hello-postgres
Das jsonb column type unterstützt indexing, queries und joins.
https://www.postgresql.org/docs/9.5/functions-json.html
Der Thread ist imo recht sinnlos. Ihr arbeitet momentan mit ad-hoc in JSON serialisierten Dateien - das bedeutet: Eine ertragbare Loesung fuer dein Problem wird man in jeder der hier erwaehnten (bzw. wild herumgeworfenen) Technologien hinkriegen.
Die richtige Technologie fuer euch ist die, mit der genuegend Leute in eurem Team Erfahrung haben, um ausreichend Flexibilitaet/"Agilitaet" bei der Umsetzung und die ueblicherweise gewuenschten Charaktertistika im Betrieb (z. B. Verfuegbarkeit) zu gewaehrleisten. Wenn ihr mit keiner tauglichen Technologie Erfahrung habt, solltet ihr vermutlich einen Consultant ins Boot holen - und in diesem "Vakuum" wuerde ich Postgres (schreibt sich mit nur einem "s") nehmen. Bei https://www.cybertec-postgresql.com/de/ kann man euch da z. B. helfen.
Der Thread soll einfach zur Inspiration dienen und dafür ist so ein Thread imho auch okay. Ich selbst kenne mich viel zu wenig aus und werde es auch nicht umsetzen, das machen die Leute aus unserem Production Team, die sich auch um all unsere Datenbanken kümmern.
Im Endeffekt wurde hier auch nicht so vieles erwähnt, was uns nicht bekannt wäre, wobei wir bisher nicht an MariaDB AX gedacht haben - danke hierfür!
Ich hätte jetzt eigentlich auch erwartet, dass die Data Science & BI Guys ihre Wunschlösung eigentlich selbst kennen sollten. Oft bevorzugt man die Tools, mit denen man lernt, da sollte man auf einen Konsens kommen können.
Im Idealfall wäre das so ja. Die Realität sieht wie so oft leider anders aus
Ganz ehrlich: Für Data Science ist relativ egal, was für eine Datenbank wir anzapfen. Solange die Performance passt juckt uns das ehrlich gesagt kaum. Aber klar, es gibt sicher Lösungen, wo es komfortabler ist als bei anderen. BI ist z.B. nicht so flexibel, da sollten ihre Tools mitspielen, was aber in der Regel gegeben ist, wenn man die üblichen Verdächtigen als Lösungen verwendet. Von daher wird COLOSSUS mit seiner Aussage, das unser Vorhaben mit wohl allen Vorschlägen umsetzbar ist, Recht haben.
Es wird sich intern eh noch zusammengesetzt und alle Optionen besprochen, so ists nicht. Aktuell sind wir so in der Recherche- und Brainstorm-Phase.
Beim BI-Anwendungsfall schreibst du oben:
"- Kein realtime analytics, alles batch processing"
und weiter unten:
"Paar Minuten warten, bis der Query ausgeführt ist, soll nicht vorkommen."
Also doch Ad-hoc Analysen?
Für klassisches BI wäre ja eine relationale Datenbank mit Column-Store-Engine immer noch vernünftig. Dort z.B. mal Pivotal Greenplum (Postgres-Basis) oder auch Vertica (auch Postgres-Basis, aber nur bis 1TB/3 Nodes kostenlos) angeschaut?
Ob solche Produkte dann für eure Data Scientists wirklich die richtige Plattform sind, kA...
Habt ihr schon mal in Richtung Hadoop/Hive/Spark überlegt? Ist halt ein riesiger Stack, der erst mal beherrscht werden will. Und bei der Performance eher nichts für Ad-Hoc Analytics. Dafür ziemlich universell einsetzbar.
Zitat aus einem Post von GexBeim BI-Anwendungsfall schreibst du oben:
"- Kein realtime analytics, alles batch processing"
und weiter unten:
"Paar Minuten warten, bis der Query ausgeführt ist, soll nicht vorkommen."
Also doch Ad-hoc Analysen?
Zitat aus einem Post von GexFür klassisches BI wäre ja eine relationale Datenbank mit Column-Store-Engine immer noch vernünftig. Dort z.B. mal Pivotal Greenplum (Postgres-Basis) oder auch Vertica (auch Postgres-Basis, aber nur bis 1TB/3 Nodes kostenlos) angeschaut?
Ob solche Produkte dann für eure Data Scientists wirklich die richtige Plattform sind, kA...
Zitat aus einem Post von GexHabt ihr schon mal in Richtung Hadoop/Hive/Spark überlegt? Ist halt ein riesiger Stack, der erst mal beherrscht werden will. Und bei der Performance eher nichts für Ad-Hoc Analytics. Dafür ziemlich universell einsetzbar.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025