suchen DB bei 1.57 GB freiem Speicher – SELFHTML-Forum Forum als Ergänzung zum SELFHTML-Wiki und zur Dokumentation SELFHTML https://forum.selfhtml.org/self?srt=yes suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 08:38:33 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588396?srt=yes#m1588396 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588396?srt=yes#m1588396 <p>Hi Leute,</p> <p>ich arbeite auf einer vm und habe nur 1,57 GB Speicherplatz frei, insgesamt hat die vm 23,8 GB.</p> <p>Ich habe eine Liste mit folgenden Daten:<br> ID - Stack mit anderen IDs</p> <p>Und möchte gucken, ob diese IDs bereits vorhanden sind. Dazu möchte ich die vorhandenen Ids in einer DB speichern. Kennt ihr ein DB System oder ähnliches mit dem ich mit 1,57 GB pysikalischem Speicher auskomme?</p> <p>MySQL würde mir den Speicher komplett füllen.</p> <p>mfg</p> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 08:51:44 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588404?srt=yes#m1588404 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588404?srt=yes#m1588404 <p>wenn ich die daten die ich haben will einfach in einer txt speichere komme ich vermutlich auf weniger als 200 MB, hierzu möchte ich allerdings noch die suchfunktion einer DB haben...</p> <p>gibt es bestimmte tricks so eine suchfunktion selber zu bauen? die ids sind integer, allerdings sehr große und ich weiß nicht ob eventuell irgendwann eine sehr kleine id hinzukommt, daher könnte das konstruieren einer ordner struktur kompliziert werden...</p> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 08:57:48 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588397?srt=yes#m1588397 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588397?srt=yes#m1588397 <p>Meine Herren,</p> <blockquote> <p>MySQL würde mir den Speicher komplett füllen.</p> </blockquote> <p>Nur zum besseren Verständnis: Ist der MySQL-Server ansich zu groß, oder wächst die MySQL-Datenbank zu schnell?</p> <p>Ich bin kein Fachmann auf dem Gebiet, aber vielleicht ist <a href="http://www.sqlite.org/index.html" rel="nofollow noopener noreferrer">SQLite</a> eine Option für dich.</p> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 09:00:58 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588398?srt=yes#m1588398 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588398?srt=yes#m1588398 <blockquote> <p>Meine Herren,</p> <blockquote> <p>MySQL würde mir den Speicher komplett füllen.</p> </blockquote> <p>Nur zum besseren Verständnis: Ist der MySQL-Server ansich zu groß, oder wächst die MySQL-Datenbank zu schnell?</p> <p>Ich bin kein Fachmann auf dem Gebiet, aber vielleicht ist <a href="http://www.sqlite.org/index.html" rel="nofollow noopener noreferrer">SQLite</a> eine Option für dich.</p> </blockquote> <p>mysql runtergeladen und entpackt -> 1.02 GB groß und das war mir zuviel, weil ich dann nurnoch 300 mb hatte</p> <p>ich glaube mysql hat vieles was ich nicht brauche mit drin... oder so, kenne mich mit DB's nicht besonders gut aus</p> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 09:04:20 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588399?srt=yes#m1588399 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588399?srt=yes#m1588399 <p>sqlite schaue ich mir  an, danke. und ich muss auch gucken, das ich mit java auf die DB zugreifen kann.</p> <blockquote> <blockquote> <p>Meine Herren,</p> <blockquote> <p>MySQL würde mir den Speicher komplett füllen.</p> </blockquote> <p>Nur zum besseren Verständnis: Ist der MySQL-Server ansich zu groß, oder wächst die MySQL-Datenbank zu schnell?</p> <p>Ich bin kein Fachmann auf dem Gebiet, aber vielleicht ist <a href="http://www.sqlite.org/index.html" rel="nofollow noopener noreferrer">SQLite</a> eine Option für dich.</p> </blockquote> <p>mysql runtergeladen und entpackt -> 1.02 GB groß und das war mir zuviel, weil ich dann nurnoch 300 mb hatte</p> <p>ich glaube mysql hat vieles was ich nicht brauche mit drin... oder so, kenne mich mit DB's nicht besonders gut aus</p> </blockquote> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 09:32:35 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588401?srt=yes#m1588401 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588401?srt=yes#m1588401 <p>Tach!</p> <blockquote> <p>sqlite schaue ich mir  an, danke. und ich muss auch gucken, das ich mit java auf die DB zugreifen kann.</p> </blockquote> <p>Da SQLite direkt in das Programm eingebunden wird, kannst du mit jedem System darauf zugreifen, für das es eine Implementierung gibt. Java ist mit dabei.</p> <p>dedlfix.</p> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 13:24:44 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588400?srt=yes#m1588400 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588400?srt=yes#m1588400 <p>Hallo,</p> <blockquote> <p>sqlite schaue ich mir  an, danke. und ich muss auch gucken, das ich mit java auf die DB zugreifen kann.</p> </blockquote> <p>diese Information hättest du mal früher liefern sollen. Für Java gibt es eine ganze Reihe sogenannter "embedded databases". Z.B. Derby, HSQLDB, H2, ...</p> <p>Ich persönlich kann H2 empfehlen, klein, schnell und leicht zu verwenden.</p> <p>Gruß,<br> andiv</p> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 17:24:53 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588402?srt=yes#m1588402 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588402?srt=yes#m1588402 <p>hi,</p> <blockquote> <p>Tach!</p> <blockquote> <p>sqlite schaue ich mir  an, danke. und ich muss auch gucken, das ich mit java auf die DB zugreifen kann.</p> </blockquote> <p>Da SQLite direkt in das Programm eingebunden wird, kannst du mit jedem System darauf zugreifen, für das es eine Implementierung gibt. Java ist mit dabei.</p> </blockquote> <p>Für gleichzeitigen Zugriff von mehreren Systemen ist SQLite aber mit vorsicht zu genießen bzw. eigentlich schon von abzuraten.</p> <p>Gruß Niklas</p> <div class="signature">-- <br> Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist. </div> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 17:42:06 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588403?srt=yes#m1588403 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588403?srt=yes#m1588403 <p>Tach!</p> <blockquote> <p>Für gleichzeitigen Zugriff von mehreren Systemen ist SQLite aber mit vorsicht zu genießen bzw. eigentlich schon von abzuraten.</p> </blockquote> <p>Hast du dazu belastbares Material? Laut der SQLite-Dokumentation ist diesem Problem sehr wohl Rechnung getragen.</p> <p><a href="http://www.sqlite.org/lockingv3.html" rel="nofollow noopener noreferrer">http://www.sqlite.org/lockingv3.html</a><br> "Locking and concurrency control are handled by the pager module. The pager module is responsible for making SQLite "ACID" (Atomic, Consistent, Isolated, and Durable). The pager module makes sure changes happen all at once, that either all changes occur or none of them do, that two or more processes do not try to access the database in incompatible ways at the same time, and that once changes have been written they persist until explicitly deleted."</p> <p>dedlfix.</p> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 08:59:15 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588406?srt=yes#m1588406 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588406?srt=yes#m1588406 <p>meine idee die ich jetzt ausprobiere:</p> <p>ich lege für jeweils 1000 id's jeweils ein mit Lempelziff codiertes txt file an, dass mache ich so, dass ich abfragen kann, ob eine bestimmte id in einem bestimmten file liegt.</p> <p>bei abfragen muss ich dann einfach meine liste mit abzufragenden id's sortieren, damit ich nicht für jede id jeweils ein file öffnen muss.... der teufel schmeißt mit fliegen oder so ähnlich, sagt man glaube ich</p> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 09:58:18 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588405?srt=yes#m1588405 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588405?srt=yes#m1588405 <p>Tach!</p> <blockquote> <p>wenn ich die daten die ich haben will einfach in einer txt speichere komme ich vermutlich auf weniger als 200 MB, hierzu möchte ich allerdings noch die suchfunktion einer DB haben...</p> </blockquote> <p>IDs als 32-Bit-Integer abgelegt benötigen 4 Byte, wenn kein Oberhead dazukommt. Das ergibt bei 1,57GB Platz für circa 400 Millionen IDs.</p> <blockquote> <p>gibt es bestimmte tricks so eine suchfunktion selber zu bauen?</p> </blockquote> <p>Natürlich. Allerdings ist das kein Trick sondern <a href="http://de.wikipedia.org/wiki/Suchverfahren" rel="nofollow noopener noreferrer">altbekanntes Wissen</a>, das ständig verwendet wird. Ein Verfahren nennt sich binäre Suche. Voraussetzung ist, dass die IDs sortiert sind. Dann greift man in die Hälfte, schaut ob sie stimmt. Ist sie kleiner oder größer, nimmt man sich die obere oder untere Hälfte und beginnt von vorn, bis man trifft oder nicht mehr weiter teilen kann. Code dafür solltest du reichlich finden.</p> <blockquote> <p>die ids sind integer, allerdings sehr große und ich weiß nicht ob eventuell irgendwann eine sehr kleine id hinzukommt,</p> </blockquote> <p>Solange sie als Zahl die magische Grenze von 4.294.967.295 nicht übersteigen, ist alles in Ordnung. Ansonsten kannst du nur die Hälfte ablegen, wenn du 64-Bit-Integers nimmst.</p> <p>dedlfix.</p> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 14:18:14 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588407?srt=yes#m1588407 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588407?srt=yes#m1588407 <p>danke für die antworten, werde ich ausprobieren, wenn meine jetzige lösung nicht funktioniert.</p> <p>zu meiner jetzigen lösung:</p> <p>Exception in thread "main" java.lang.NumberFormatException: For input string: "2132537982400981464"</p> <p>bei <code class="language-java">keys<span class="token punctuation">.</span><span class="token function">add</span><span class="token punctuation">(</span><span class="token class-name">Integer</span><span class="token punctuation">.</span><span class="token function">valueOf</span><span class="token punctuation">(</span><span class="token punctuation">(</span><span class="token class-name">String</span><span class="token punctuation">)</span> it<span class="token punctuation">.</span><span class="token function">next</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span></code></p> <p>was kann ich hier tun? ^^</p> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 14:34:44 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588408?srt=yes#m1588408 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588408?srt=yes#m1588408 <p>lösungs idee: long statt int</p> <p>problem: arraylist frisst kein long....</p> <p>dann baue ich mal ne hashmap zum umwandeln der ids in richtige int......</p> suchen DB bei 1.57 GB freiem Speicher Mon, 26 Aug 13 18:25:56 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588409?srt=yes#m1588409 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588409?srt=yes#m1588409 <p>Hallo,</p> <blockquote> <p>lösungs idee: long statt int</p> </blockquote> <p>funktioniert auch nur solange die Zahl sich mit 64 Bit darstellen lässt, für größere Zahlen bietet Java dir BigInteger an.</p> <blockquote> <p>problem: arraylist frisst kein long....</p> </blockquote> <p>Eine List<Long> = new ArrayList<Long>() frisst sehr wohl long, aber eine List<Integer> = new ArrayList<Integer>() tut das nicht. Überprüfe die Generics mit denen du arbeitest</p> <blockquote> <p>dann baue ich mal ne hashmap zum umwandeln der ids in richtige int...</p> </blockquote> <p>Klingt eher nach Würgaround als solider Programmiertechnik.</p> <p>Gruß,<br> andiv</p> suchen DB bei 1.57 GB freiem Speicher Wed, 28 Aug 13 08:42:28 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588410?srt=yes#m1588410 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588410?srt=yes#m1588410 <blockquote> <p>Hallo,</p> <blockquote> <p>lösungs idee: long statt int</p> </blockquote> <p>funktioniert auch nur solange die Zahl sich mit 64 Bit darstellen lässt, für größere Zahlen bietet Java dir BigInteger an.</p> <blockquote> <p>problem: arraylist frisst kein long....</p> </blockquote> <p>Eine List<Long> = new ArrayList<Long>() frisst sehr wohl long, aber eine List<Integer> = new ArrayList<Integer>() tut das nicht. Überprüfe die Generics mit denen du arbeitest</p> <blockquote> <p>dann baue ich mal ne hashmap zum umwandeln der ids in richtige int...</p> </blockquote> <p>Klingt eher nach Würgaround als solider Programmiertechnik.</p> <p>Gruß,<br> andiv</p> </blockquote> <p>vielen danke! ich brauche tatsächlich die long, sonst fehlt mir eine ordnungsrelation, danke! :)</p> suchen DB bei 1.57 GB freiem Speicher Wed, 28 Aug 13 08:55:50 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588411?srt=yes#m1588411 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588411?srt=yes#m1588411 <p>ne, funktioniert nicht, ich wollte</p> <p>arraylist<Long> list = new arraylist();</p> <p>long i = ...</p> <p>list.get(i)</p> <p>ich bau mir einfach ne hashmap mit key long, mal schauen</p> suchen DB bei 1.57 GB freiem Speicher Wed, 28 Aug 13 09:01:03 Z https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588412?srt=yes#m1588412 https://forum.selfhtml.org/self/2013/aug/26/suchen-db-bei-1-57-gb-freiem-speicher/1588412?srt=yes#m1588412 <p>Hallo,</p> <blockquote> <p>ne, funktioniert nicht, ich wollte</p> </blockquote> <p>"Funktioniert nicht" ist doch keine Fehlerbeschreibung. Wie soll man dir da denn helfen?</p> <blockquote> <p>arraylist<Long> list = new arraylist();</p> <p>long i = ...</p> <p>list.get(i)</p> </blockquote> <p>Wenn schon dann<br> List<Long> list = new ArrayList<Long>();<br> long item = list.get(index);</p> <p>Welche Fehlermeldung wird dir denn gezeigt?</p>