Alternative zur Serialisierung.. Protobuf?

MJ23

Mitglied
Hallo,
ich möchte in einem Projekt Artikel-Objekte speichern (mit einem Bild, verschiedenen Nummern und Referenzen auf andrere Objekte als Attribute.
Bisher habe ich die Objekte mittels der "normalen" Serialisierung in einer .txt gespeichert und ausgelesen, was soweit ganz gut funktioniert hat, aber jetz hab ich doch einige Fragen:
  • Wie sieht es aus, wenn ich Objekte gespeichert habe und dann irgendwann aber ein Attribut hinzufügen bzw. etwas an der Klasse ändern möchte, geht das / ist das aufwändig?
  • Wie sieht es mit der Performance aus wenn gleichzeitig hunderte oder tausende Objekte geladen werden (vllt. sogar später über einen Server)?
  • Welche Alternativen gibt es? Ich habe zum Beispiel von Googles Protobuf gehört, kennt sich mit der Funktionsweise jemand besser aus?
Ich habe in der Suchfunktion und in Google nichts gefunden was alle meine Fragen konkret beantwortet.

Vielen Dank!
MJ23
 

dayaftereh

Top Contributor
Hey, wenn sich deine Datenstruktur schnell und oft ändert würde ich Json empfehlen um Daten zu kodieren. Natürlich hat Json ein Gewissen Overhead an der Größe. Dafür ist die Implementierung der Serialisierung einfach und zugleich platform unabhängig.

Na ja bei Json würde ich immer auf die Rest APIs zum Vergleich sehen. Diese haben ja auch tausende an Anfragen gleichzeitig wobei diese auch effektiv abarbeiten werden.

Ich habe ein Projekt mit protobuf umgesetzt. Ich würde sagen das es effektiver und performanter wie Json oder Java Serialisierung ist. Zudem kann man es auch platform unabhängig benutzen. Der Nachteil von protobuf ist das wenn ein Objekt in Byte Form vorliegt dann kann es nicht erkennen welches Objekt es ist. Das heißt Mann muss sich selbst was bauen um zu sagen welches Objekt das nun ist, um es dann korrekt du laden.

Hoffe das hilft...
 

dayaftereh

Top Contributor
Mmh, also relationale Datenbanken denke ich sind fehl am Platz. Ein Alter Tabelle über 100 Millionen Datensätze, nur um ein boolean ein zu führen, ist so kostbar , sodass es fast 3 Stunden dauern kann. Daher setzt man dafür auf NoSQL Datenbank, da sie wie Json eine Erweiterung einfacher aufnehmen können.

Das Problem, was ich mit Alter Table meine, hatte der Telekom Email Client, den man aus Browser aufrufen kann. Die Lösung war eine Kombination aus Relationale und NoSQL.
 

MJ23

Mitglied
Bitte verbessert mich wenn ich falsch liege, ich bin auf diesem Gebiet ein ziemlicher anfänger. Wenn ich meine Daten in einer SQL-Datenbank (=relationale Datenbank?) speichere, wird ja sozusagen jedes Objekt in einer Zeile gespeichert, oder? Ist es dann nicht möglich, meiner Klasse neue datenfelder hinzuzufügen, und danach die Objekte wieder in mein Programm zu laden?
 

dayaftereh

Top Contributor
Das ist korrekt, nur leider ist das Problem wenn du schon 100 Millionen Objekte in der Datenbank hast und dann kommt bei einer neuen Version ein neues Attribute bzw Spalte in der Datenbank hinzu. Da jetzt ein Objekt noch ein boolean flag dazu bekommen hat. Jetzt musst du alle 100 Millionen Datensätze auch das neue Boolean flag hinzufügen, was Rechenleistung und Zeit kostet.

Du hast ja gesagt das sich deine Datenstruktur schnell und oft ändert?
 

MJ23

Mitglied
Also vorraussichtlich soll sich die Datenstruktur eher selten ändern, aber die Option sollte auf jeden Fall da sein, was die Java Serialisierung ja nicht wirklich ermöglicht
Auf jeden fall vielen dank für deine Hilfe!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Gibt es mittlerweile eine Alternative zu DaisyDiff Allgemeine Java-Themen 2
F Streams als Alternative für dieses Problem ? Allgemeine Java-Themen 15
Zrebna Alternative Darstellung eines Codesnippets Allgemeine Java-Themen 33
W Alternative für Threads Allgemeine Java-Themen 6
Thallius Alternative für SwingWorker Allgemeine Java-Themen 5
J Suche Alternative zu Jasper Reports Allgemeine Java-Themen 4
M Suche Alternative zu JFreeChart Allgemeine Java-Themen 11
D Konstruktor - jedes Objekt einzeln erzeugen - alternative? Allgemeine Java-Themen 8
M DAOs veraltet - was ist die Alternative? Allgemeine Java-Themen 13
MiMa Array umbau oder Alternative? Allgemeine Java-Themen 5
C Alternative zu NetworkX in Java Allgemeine Java-Themen 1
B Alternative zu nebenläufigen Prozessen Allgemeine Java-Themen 4
BonoBoo Alternative zum endlosen Instanzieren Allgemeine Java-Themen 2
F Platzsparende Alternative zu .txt-Dateien Allgemeine Java-Themen 12
E Gewollte Endlosschleife unterbrechen oder Alternative gesucht Allgemeine Java-Themen 2
F Alternative sun.jdbc.odbc.JdbcOdbcDriver (Access Datenbank) Allgemeine Java-Themen 2
F alternative zu "JPEGImageDecoderImpl" Allgemeine Java-Themen 2
T Timer oder Alternative? Allgemeine Java-Themen 3
G Alternative zu .properties Dateien Allgemeine Java-Themen 20
S Alternative zu SortedMap? Allgemeine Java-Themen 8
H Alternative zu Stack Allgemeine Java-Themen 3
pikay Jar2Exe Alternative? Allgemeine Java-Themen 17
E javax.comm: Suche eine open source Alternative zu rxtx Allgemeine Java-Themen 8
H Alternative if Schreibweise mit ? Allgemeine Java-Themen 10
G suche Property alternative Allgemeine Java-Themen 4
H Wie schön oder unschön ist dieser code - alternative ? Allgemeine Java-Themen 5
E Viele if Abfragen auf viele Strings --> Alternative zu if Allgemeine Java-Themen 8
G libext Alternative? Allgemeine Java-Themen 5
S Alternative zu Robot (wegen Umlauten) Allgemeine Java-Themen 13
foobar Alternative zu JavaHelp gesucht Allgemeine Java-Themen 2
I Alternative zu getClass().getResourceAsStream() ? Allgemeine Java-Themen 9
D System.setProperty alternative Allgemeine Java-Themen 4
J alternative zu rsh ? Allgemeine Java-Themen 5
K KeyListener-Alternative ohne anfängliches Delay ? Allgemeine Java-Themen 5
G Alternative zu split() Allgemeine Java-Themen 3
K Alternative zu JNI Allgemeine Java-Themen 3
P Alternative zu replaceAll (jdk < 1.4) Allgemeine Java-Themen 14
M Alternative zu Thread : stop() ? Allgemeine Java-Themen 10
antonia09 Einkaufszettel Persistenz und Serialisierung Allgemeine Java-Themen 6
D Serialisierung und Deserialisierung von Objekten - Frageprogramm Allgemeine Java-Themen 4
R Datentypen Korrekte integer in Hex ASCII Konvertierung und serialisierung Allgemeine Java-Themen 1
M Serialisierung funktioniert nicht Allgemeine Java-Themen 9
Z Best Practice Serialisierung Allgemeine Java-Themen 2
Arif Input/Output Serialisierung - Datei wird nicht erzeugt Allgemeine Java-Themen 3
E Serialisierung - Deserialisierung Allgemeine Java-Themen 4
Thallius Serialisierung schlägt fehl. Allgemeine Java-Themen 3
M Serialisierung & Verschlüsselung Allgemeine Java-Themen 2
E Serialisierung - Sinn einer generierten serialVersionUID? Allgemeine Java-Themen 4
V Serialisierung von Instanz eigener Klasse Allgemeine Java-Themen 5
A Input/Output Serialisierung und Object.hashCode() Allgemeine Java-Themen 3
K Serialisierung einer verschachtelten Datenstuktur Allgemeine Java-Themen 9
Tobse Input/Output Dateiformat: Serialisierung VS Custom format Allgemeine Java-Themen 6
A Problem bei Serialisierung von Bibliotheks-Klassen Allgemeine Java-Themen 6
A Input/Output Serialisierung Sonderzeichen Allgemeine Java-Themen 3
P Serialisierung der Oberklasse Allgemeine Java-Themen 2
Kr0e Circular reference - Serialisierung Allgemeine Java-Themen 6
K Serialisierung in Properties-Datei möglich? Allgemeine Java-Themen 3
B Serialisierung mit Unterobjekten über Netzwerk Allgemeine Java-Themen 3
C Serialisierung - Standardwert für nachträglich hinzugefügtes Feld Allgemeine Java-Themen 2
S Serialisierung der Kindklasse Allgemeine Java-Themen 5
K Serialisierung komplett selbst machen Allgemeine Java-Themen 13
C Serialisierung ohne Serializable Allgemeine Java-Themen 4
S Serialisierung und Referenzen Allgemeine Java-Themen 6
S Viele Bilder -> Speicher ausgelastet? / (De-)serialisierung geht nicht mehr richtig Allgemeine Java-Themen 8
E Objekt bei Serialisierung ändern Allgemeine Java-Themen 2
Q Serialisierung / Speicherung Geschwindingkeit & Aktuelle Position Allgemeine Java-Themen 7
Z Serialisierung und Deserialisierung einer HashMap Allgemeine Java-Themen 17
W Serialisierung Allgemeine Java-Themen 6
K Serialisierung von Hashmap in Vector Allgemeine Java-Themen 3
F Serialisierung und Obfuscation? Allgemeine Java-Themen 7
G (De)serialisierung und Referenzen Allgemeine Java-Themen 5
T Serialisierung: Wie macht RMI das so schnell? Allgemeine Java-Themen 14
J Serialisierung: readInt + writeInt Allgemeine Java-Themen 4
X Einige Fragen zu Serialisierung Allgemeine Java-Themen 2
J bean + serialisierung + serialVersionUID Allgemeine Java-Themen 3
K Serialisierung Allgemeine Java-Themen 6
thE_29 Wie funktioniert Serialisierung? Allgemeine Java-Themen 10
S Problem mit Serialisierung Allgemeine Java-Themen 2
C Serialisierung von JComboBox Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben