Stored in System

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
User avatar
madMax
byte level
byte level
Posts: 90
Joined: Thu Jul 05, 2007 2:19 pm

Stored in System

Post by madMax » Sun Jun 08, 2008 8:16 am

Καλημέρα,

Χρειάζομαι να αποθηκεύω κάποιες πληροφορίες σχετικά με τις ενέργειες που έχουν γίνει απο το πρόγραμμα (java) μέχρι τη στιγμή που θα γίνει έξοδος απο την εφαρμογή ( ή/και τερματισμός του λειτουργικού <windows>) ώστε να μην ξαναγίνονται τα ίδια πράγματα όταν ξανατρέξει η εφαρμογή.
Μια λύση αλλά πάρα πολυ αργή θα ήταν να γράφονται σε αρχεία οι πληροφορίες και να ενημερόνονται κατάλληλα και κάποια vectors, να ξαναγεμίζονται τα vectors από τα αρχεία όταν ξεκινά η εφαρμογή κοκ.
Ενα προβλημα είναι ότι κάποιες πληροφορίες πρέπει να διαγράφονται απο τα αρχεία όταν π.χ. διαγράφονται κάποια αρχεία απο το δίσκο. Για μικρές συλλογές απο αρχεία είναι OK αλλά....

Υπάρχει κάποια δομή του συστήματος που μπορώ να αποθηκεύσω δεδομένα ?
Κάποιος τρόπος να αποθηκέυσω μια δομή δεδομένων στο σύστημα?
Καμια ιδέα...
User avatar
PaP
Venus Project Founder
Venus Project Founder
Posts: 1077
Joined: Wed Apr 21, 2004 12:06 am
Academic status: Alumnus/a
Location: San Francisco
Contact:

Re: Stored in System

Post by PaP » Mon Jun 09, 2008 10:24 am

XML
ή παίξε με SQLite
H δομές δεδομένων μπορούν να αποθηκευτούν σαν serialized objects και να γινουν απλά files στο δίσκο δεν συνηθίζεται όμως
User avatar
rose
Gbyte level
Gbyte level
Posts: 1921
Joined: Sun May 20, 2007 8:59 pm
Academic status: 4th year
Gender:

Re: Stored in System

Post by rose » Mon Jun 09, 2008 10:48 am

Αν την κάνεις για σένα θα έλεγα να χρησιμοποίησεις το http://www.db4o.com για να κάνεις store και retrieve τις δομές που θα κρατάνε το prev
state.Αφου κάνεις retrieve ,γεμίζεις τα objects με τις προηγούμενες τιμές και με αυτο το τροπο επανέρχεται στο state που θέλεις.

Ναι είναι λίγο βαρύ αλλα το κάνεις μια φορα οταν ανεβαίνει η εφαρμογή.
που θα πάει θα το δουμε...
User avatar
PaP
Venus Project Founder
Venus Project Founder
Posts: 1077
Joined: Wed Apr 21, 2004 12:06 am
Academic status: Alumnus/a
Location: San Francisco
Contact:

Re: Stored in System

Post by PaP » Mon Jun 09, 2008 11:23 am

ee | Παρουσιάσεις |

sqlitelogo

Βλέπoντας πρόσφατα πως η default βάση δεδομένων για το Ruby On Rails έγινε η SQLite, θυμήθηκα ότι και η PHP 5 έχει ενσωματωμένη τη βάση αυτή. Χρειάστηκε να φτιάξω μια μικρή εφαρμογή και ως συνήθως την έφτιαξα σε web περιβάλλον αλλά για χρήση desktop και θεώρησα ότι δε χρειάζεται το overhead οποιασδήποτε παραδοσιακής σχεσιακής βάσης. Οπότε τα 250ΚΒ ήταν δελεαστικά για να της κάνω ένα test drive. Με έκπληξη μου διαπίστωσα ότι υποστηρίζει το 75% της ISO SQL και ότι δίνει τη δυνατότητα για πολλαπλούς πίνακες, triggers, views.

Μερικά άλλα χαρακτηριστικά είναι:

* Δεν είναι server, δηλαδή εκτελείται μόνο ανα request, οπότε δεν πιάνει χώρο στη μνήμη ούτε καταναλώνει επεξεργαστική ισχύ.
* Στην έκδοση Windows, υπάρχει μόνο ένα dll και ένας command line client, δε χρειάζεται απολύτως τίποτα άλλο
* Δε χρειάζεται καμία ρύθμιση
* Αποθηκεύει μια βάση σε ένα μόνο αρχείο οπότε είναι πολύ εύκολη η μεταφορά
* Εξαιρετικά γρήγορη (βέβαια όχι για πολύ μεγάλο αριθμό εγγραφών)

Σίγουρα η SQLite δεν αποτελεί αντίπαλο δέος της Oracle αλλά είναι τέλεια για desktop και embedded εφαρμογές, μάλιστα χρησιμοποιείται από το Adobe Air, Firefox, Safari, iPhone, Skype κλπ. Επίσης θεωρώ ότι είναι αρκετά καλή και για χρήση web αν σε ένα μηχάνημα θέλετε να στείσετε κάποιο wordpress, joomla, drupal και έχετε μικρή προς μέτρια επισκεψημότητα.

Τέλος θα ήθελα να αναφερθώ στο πολύ καλό GUI administrator/browser που υπάρχει και αποτελεί ένα απλό extension του Firefox
http://www.webz.gr/2008/03/14/sqlite/
User avatar
rose
Gbyte level
Gbyte level
Posts: 1921
Joined: Sun May 20, 2007 8:59 pm
Academic status: 4th year
Gender:

Re: Stored in System

Post by rose » Mon Jun 09, 2008 11:41 am

Το να σώνεις το state σε db ειναι επίσημη λύση αλλα αρκετα δύσκολη και ανούσια για ενα regular app.(πχ εργασία μαθήματος).
που θα πάει θα το δουμε...
User avatar
PaP
Venus Project Founder
Venus Project Founder
Posts: 1077
Joined: Wed Apr 21, 2004 12:06 am
Academic status: Alumnus/a
Location: San Francisco
Contact:

Re: Stored in System

Post by PaP » Mon Jun 09, 2008 11:51 am

To SQLite δεν είναι db server
Από την άλλη θα πρέπει να γράψει SQL
Αλλά σύνολο δεν είναι μεγάλη λύση
User avatar
rose
Gbyte level
Gbyte level
Posts: 1921
Joined: Sun May 20, 2007 8:59 pm
Academic status: 4th year
Gender:

Re: Stored in System

Post by rose » Mon Jun 09, 2008 1:01 pm

Με το http://www.db4o.com κάνεις query σε Serialized Objects. :smt002
που θα πάει θα το δουμε...
User avatar
madMax
byte level
byte level
Posts: 90
Joined: Thu Jul 05, 2007 2:19 pm

Re: Stored in System

Post by madMax » Mon Jun 09, 2008 6:51 pm

ευχαριστώ για την ανταπόκριση,
όντως για εργασία μαθήματος είναι λιγο παρατραβηγμένο
User avatar
rose
Gbyte level
Gbyte level
Posts: 1921
Joined: Sun May 20, 2007 8:59 pm
Academic status: 4th year
Gender:

Re: Stored in System

Post by rose » Mon Jun 09, 2008 8:35 pm

Ελπίζω να βοηθήσαμε,δες το παρακάτω tutorial για db4o.

http://developer.db4o.com/Resources/vie ... e_Tutorial
που θα πάει θα το δουμε...
Post Reply

Return to “Προγραμματισμός”