Seite 1 von 2

Big Data Datenbank

Verfasst: Samstag 17. Januar 2015, 22:41
von meego
Welche Datenbank eignet sich in Verbindung mit Python, um schnell über mehrere Datensätze gehende Berechnungen auf der Datenbasis durchzuführen?

Re: Big Data Datenbank

Verfasst: Samstag 17. Januar 2015, 23:03
von BlackJack
@meego: Jede, nur bestimmte, oder keine. Ehrlich, mehr kann man dazu ohne weitere Angaben nicht sagen.

Re: Big Data Datenbank

Verfasst: Samstag 17. Januar 2015, 23:10
von meego
Was für Angaben z.B.?

Re: Big Data Datenbank

Verfasst: Samstag 17. Januar 2015, 23:17
von Sirius3
@meego: welche Berechnungen sollen über welche Datensätze durchgeführt werden?

Re: Big Data Datenbank

Verfasst: Samstag 17. Januar 2015, 23:52
von meego
Statistikoperationen. Matrixoperationen. Auch über alle Datensätze.

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 09:20
von Sirius3
@meego: das ist doch Blödsinn, Dir jedes einzelne Wort aus der Nase ziehen zu müssen. Für Matrixoperationen ist keine der gängigen Datenbanken ausgelegt, heißt ja auch Datenbank und nicht Rechenbank. Wenn Du sowieso jeden Datensatz nimmst, was rechnest und das Ergebnis zurückschreibst, brauchst Du erst gar keine Datenbank. Wenn Du kein Beispiel geben kannst, wie die Komplexität der Daten ungefähr aussieht, und welche konkreten Operationen auf die Daten angewendet werden sollen, dann solltest Du Dir erst mal darüber Gedanken machen, bevor Du Dir überlegst, wie man die Daten persistent macht.

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 10:30
von meego
Naja, woher stammen dann die Koordinaten-Daten (d.h. eine Numpy Array-Position), wenn nicht aus der DB? Keine Ahnung, wie nach der Operation mit den Ergebnissen/Resultaten umgegangen werden kann.

Angenommen jeder Spieler hat seine Spielfigur auf einer bestimmten Koordinate in einem 3-dimensionalen Raum, die in seinem Datensatz laufend aktualisiert wird.
Ich möchte jetzt zum Beispiel wissen, welche anderen Spieler sich in einer bestimmten Entfernung (einem Radius) zu Spieler Fritz befinden und ihre Numpy Koordinaten.

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 10:59
von Sirius3
@meego: Das meine ich mit aus der-Nase-herausziehen. Woher soll ich denn wissen, dass es sich um Koordinaten handelt, dass Du eine Entfernungsabfrage machen willst, ...
Du suchst also eine Datenbank, die einen Geospatial Index unterstützt. Damit fallen schonmal Key-Value-Datenbanken raus.

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 12:24
von meego
Hi Sirius: Was wären das für Datenbanken? Warum muss gleich der Index eine Koordinate sein? Evtl. benötige ich Key-Value aber für andere Infos.

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 13:04
von BlackJack
@meego: Indexe werden angelegt um effizienter über ein Suchkriterium an die Daten zu kommen als tatsächlich jedes einzelne Datum zu prüfen. Normalerweise hat man als Indexdatenstruktur bei Datenbanken deshalb, wenn man Bereichsabfragen machen will wie gib mir alle Personen deren Nachname mit B anfängt, irgendetwas ”sortiertes”. In der Regel einen Suchbaum (oft ein B+-Baum). Damit kann man aber nur eindimensional sortiertes effizient abfragen. Da das der Standardfall ist, hat eigentlich jede relationale Datenbank so einen Indextyp. Mehrdimensionale Abfragen dagegen sind traditionell nicht so üblich, weshalb auch nicht jedes DBMS Indextypen für solche Abfragen hat. Desweiteren braucht man dann auch Abfrageoperatoren die nicht zur SQL-Grundausstattung gehören. Da aber Geodaten in 2D oder auch 3D ein grösseres Thema sind, haben einige RDBMS aufgerüstet und haben Erweiterungen für solche Daten und Abfragen. PostgreSQL zum Beispiel mit PostGIS, oder Sqlite mit SpatiaLite.

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 13:53
von meego
@BlackJack:
Dann wäre es also zu langsam die 3D-Koordinaten über einen solchen Standardindex auszulesen?
Ist beim Geospatial Index dann jeder der 3 Koordinaten ein Index im gleichen Datensatz?
Ist man mit den üblichen Python-Webframeworks auf gewisse Datenbanken limitiert?
Wichtig wäre auch Suchfunktionalität.

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 14:03
von BlackJack
@meego: Irgendwie fängt es hier schon wieder an das man Grundlagen, diesmal von Datenbanken, erklären muss, die man an anderer Stelle besser aufbereitet findet. Ich habe jetzt keine Lust hier eine Einführung in relationale Datenbanken zu schreiben. Du hast da offenbar keine oder falsche Vorstellungen von.

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 15:18
von meego
Wie die normale relatione Datenbank funktioniert, verstehe ich einigermassen. Über Geoinfos weiss ich nichts.

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 19:39
von meego

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 19:44
von EyDu
Wie glaubst du eigentlich, wie so ein Forum funktioniert? Du stellst hier vollkommen offene Fragen, welche du dir leicht selbst mit einem Wikipedia-Artikel und den darauf enthaltenen Links beantworten kannst. Erwartest du ernsthaft, dass dir hier alles noch einmal in anderen Worten persönlich erzählt wird, was an einer anderen Stelle bereits sehr gut beschrieben ist?

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 19:56
von meego
Also bis jetzt weiss ich erst, dass meine gesuchte DB offenbar einen Geospatial Index unterstützen müsste. Welche weiteren Auswahl-Kriterien existieren? Ihr überlasst mir ja das Spekulieren.

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 20:05
von Sirius3
@meego: liest Du eigentlich auch mal, was DU oder andere schreiben???? Bis jetzt hast DU noch keine einzige verwertbare Information darüber verloren, was DEINE Anforderungen an eine Datenbank sind. Und ja, Hypertable ist für Deine Aufgabe genau das richtige, werd glücklich damit; an Deiner Stelle würde ich gleich mit 1000 Knoten beginnen, so 1PB an Speicher solltest Du schon für das was Du vorhast einplanen; hat man am Anfang zu klein geplant, steht man später ganz schön blöd da.

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 20:28
von meego
Du aber auch nicht darüber, was für Anforderungskriterien existieren bzw. wie man diese zu formulieren hat. Ich bin ja kein Datenbankspezi und das hier soll doch ein allgmeines Anfängerforum sein.

Ich möchte erst einmal eine Art soziales Netzwerk realisieren (also Bentzeraccounts), in welchem sich die Nutzer bestimmte vordefinierte Etiketten (Tags) zuweisen können. Lassen wir das mit der späteren Spielfigur einmal weg.

Re: Big Data Datenbank

Verfasst: Sonntag 18. Januar 2015, 21:57
von BlackJack
@meego: Es ist aber auch ein Python-Programmierforum, also ist das schon eine Einschränkung des „allgemein” im Titel dieses Unterforums. Nicht das man hier auch mal über Sachen reden kann die weiter gefasst sind, ist dieses Rumstochern von Dir nicht zielführend weil Du ja offenbar bewusst Informationen zurück hältst. So kann dann aber niemand beurteilen wie Deine tatsächlichen Anforderungkriterien sind, insbesondere weil Du ja selber sagst die nicht zu kennen beziehungsweise die Art wie man die am besten formalisiert und kommuniziert.

Informationen weglassen, sowohl weil Du die nicht verraten möchtest, als auch gezielt so etwas wie mit den Koordinaten der Spielfigur auszuklammern, ist eine sehr schlechte Grundlage um sinnvolle Antworten geben zu können. Wenn Du die Koordinaten jetzt weg lässt sind nämlich wieder Lösungen im Spiel die durch diese Anforderung ausgeschlossen wären. Key-Value-Stores wären dann zum Beispiel wieder eine Möglichkeit. Ausser wenn später dann doch wieder diese Anforderung nach Entfernungsanfragen kommen, dann hätte man mit KV-Stores auf's falsch Pferd gesetzt. Das illustriert ganz gut das Problem vor dem wir hier als Helfende stehen. Eine sinnvolle Architektur, und dazu gehört auch die Datenhaltungsschicht, kann man erst entwerfen wenn man alle Anforderungen beisammen hat. Denn jede Anforderung kann Entwurfsentscheidungen beeinflussen, manche nur ein wenig, andere aber auch ganz massiv. Darum sollte man alle wichtigen Randbedingungen kennen. Und wenn man nicht einschätzen kann welche wichtig sind, dann sind das einfach mal *alle* Randbedingungen.

Das Argument hier wäre ein Anfängerforum, und dass man doch deshalb Nachsicht haben sollte das Du nicht weisst wie eine Anforderungsanalyse für ein grösseres Projekt aussieht, verfängt nicht, denn was Du hier mit Deinen Fragen andeutest, und ich nehme mal die aus dem „Verschlüsselungs-Thema” mit dazu, ist schlicht und ergreifend kein Anfänger(taugliches)projekt mehr! Oder eines das man als Anfänger angeht mit dem Wissen das es mit 99% Wahrscheinlichkeit auf die Nase fällt. Warum tut man das? Um etwas dabei zu lernen, damit der zweite Anlauf besser wird, der dritte einen benutzbaren Prototyp darstellt, und der vierte dann vielleicht sogar „live” gehen kann.

Re: Big Data Datenbank

Verfasst: Montag 19. Januar 2015, 08:45
von MagBen
meego hat geschrieben:Ich bin ja kein Datenbankspezi
Dann ist es eigentlich egal welche Datenbank Du nimmst, das erste Datenbankprojekt ist zum Lernen, wirklich produktiv wirst Du erst ab dem zweiten Projekt.
meego hat geschrieben:Ich möchte erst einmal eine Art soziales Netzwerk realisieren (also Bentzeraccounts), in welchem sich die Nutzer bestimmte vordefinierte Etiketten (Tags) zuweisen können.
Ein paar hundert Benutzeraccounts sind nicht "Big Data".