best solution to store data

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
32 messages Options
12
Reply | Threaded
Open this post in threaded view
|

best solution to store data

Roelof
Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a
year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof

Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

fstephany
If you don't want a separate DB, object serialization with Fuel is an option. It's very easy to serialize a graph of objects to disk.
You can also have a look at SandstoneDB, it's pretty small and some people use it.

Cheers,
Francois


On Tue, Sep 2, 2014 at 8:17 AM, Roelof Wobben <[hidden email]> wrote:
Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof


Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

Tim Mackinnon
In reply to this post by Roelof
Esteban talked about Voyage at ESUG, its on the list of talks here:  http://goo.gl/E1VF53

You can of course scale up to Gemstone (or indeed start with that as well if you need something more commercial and supported - there is a Gemstone talk in that link as well).

Tim

On 2 Sep 2014, at 07:17, Roelof Wobben <[hidden email]> wrote:

Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof


Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

stepharo
In reply to this post by Roelof

> Hello,
>
> I want to try to make a financial app for a organisation.

We want you do succeed :)

> There are some 50 customers so also 50 invoices a year.
> Then the payments . Also 50 a year.
>
> Cash and bank accounts . Every month some 10 - 20 things.
>
> So on my disk on the programm I now use it costs me some 30 -  50 Kb a
> year.

Indeed the number are low. So this is good because you can use simple
approaches.
>
> What are my options for storage of those data.
>
> I could use a database , but I wonder if there are more and better
> options.

You can use Voyage and MongoDB.
Cheap and nice.

You can use STON (text based serialisation).

You can use Fuel (really fast serializer) but this is binary.

>
> Roelof
>
>


Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

stepharo
In reply to this post by fstephany

On 2/9/14 09:11, François Stephany wrote:
If you don't want a separate DB, object serialization with Fuel is an option. It's very easy to serialize a graph of objects to disk.
You can also have a look at SandstoneDB, it's pretty small and some people use it.
pay attention that images can get corrupted so I would in addition use a file based approach (STON or whatever).

Cheers,
Francois


On Tue, Sep 2, 2014 at 8:17 AM, Roelof Wobben <[hidden email]> wrote:
Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof



Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

Roelof
In reply to this post by fstephany
Thanks.

Could Magna also be a good solution ?

Roelof




François Stephany schreef op 2-9-2014 9:11:
If you don't want a separate DB, object serialization with Fuel is an option. It's very easy to serialize a graph of objects to disk.
You can also have a look at SandstoneDB, it's pretty small and some people use it.

Cheers,
Francois


On Tue, Sep 2, 2014 at 8:17 AM, Roelof Wobben <[hidden email]> wrote:
Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof



Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

Roelof
In reply to this post by stepharo
Thanks all.

Is there a good tutorial how I can work with Fuel ?

Roelof



stepharo schreef op 2-9-2014 12:31:

On 2/9/14 09:11, François Stephany wrote:
If you don't want a separate DB, object serialization with Fuel is an option. It's very easy to serialize a graph of objects to disk.
You can also have a look at SandstoneDB, it's pretty small and some people use it.
pay attention that images can get corrupted so I would in addition use a file based approach (STON or whatever).

Cheers,
Francois


On Tue, Sep 2, 2014 at 8:17 AM, Roelof Wobben <[hidden email]> wrote:
Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof




Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

stepharo
In reply to this post by Roelof

On 2/9/14 13:01, Roelof Wobben wrote:
Thanks.

Could Magna also be a good solution ?

For such quantity of information my impression is that it is oversized. May be Chris Mueller will reply.
Now Magma does not work in Pharo (or may be it does but I do not know).

Roelof




François Stephany schreef op 2-9-2014 9:11:
If you don't want a separate DB, object serialization with Fuel is an option. It's very easy to serialize a graph of objects to disk.
You can also have a look at SandstoneDB, it's pretty small and some people use it.

Cheers,
Francois


On Tue, Sep 2, 2014 at 8:17 AM, Roelof Wobben <[hidden email]> wrote:
Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof




Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

fstephany
In reply to this post by stepharo
Yep, the binary approach is a bit more fragile and less interoperable.
STON, JSON or XML are all fine with such a small domain I imagine.


On Tue, Sep 2, 2014 at 12:31 PM, stepharo <[hidden email]> wrote:

On 2/9/14 09:11, François Stephany wrote:
If you don't want a separate DB, object serialization with Fuel is an option. It's very easy to serialize a graph of objects to disk.
You can also have a look at SandstoneDB, it's pretty small and some people use it.
pay attention that images can get corrupted so I would in addition use a file based approach (STON or whatever).


Cheers,
Francois


On Tue, Sep 2, 2014 at 8:17 AM, Roelof Wobben <[hidden email]> wrote:
Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof




Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

EstebanLM
seeing that use case is really small, I would probably try the simplest approach possible. 
Something like sandstonedb can make the trick here :)


Esteban

On 02 Sep 2014, at 14:31, François Stephany <[hidden email]> wrote:

Yep, the binary approach is a bit more fragile and less interoperable.
STON, JSON or XML are all fine with such a small domain I imagine.


On Tue, Sep 2, 2014 at 12:31 PM, stepharo <[hidden email]> wrote:

On 2/9/14 09:11, François Stephany wrote:
If you don't want a separate DB, object serialization with Fuel is an option. It's very easy to serialize a graph of objects to disk.
You can also have a look at SandstoneDB, it's pretty small and some people use it.
pay attention that images can get corrupted so I would in addition use a file based approach (STON or whatever).


Cheers,
Francois


On Tue, Sep 2, 2014 at 8:17 AM, Roelof Wobben <[hidden email]> wrote:
Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof





Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

kilon.alios
When I was coding in Python for small local databases SQlite was recommended , I only have played briefly with it but it looked to me fairly easy to use and with a very good performance. But I dont know how well it works in Pharo, so maybe someone can jump in and tells us about it . 


On Tue, Sep 2, 2014 at 3:49 PM, Esteban Lorenzano <[hidden email]> wrote:
seeing that use case is really small, I would probably try the simplest approach possible. 
Something like sandstonedb can make the trick here :)


Esteban


On 02 Sep 2014, at 14:31, François Stephany <[hidden email]> wrote:

Yep, the binary approach is a bit more fragile and less interoperable.
STON, JSON or XML are all fine with such a small domain I imagine.


On Tue, Sep 2, 2014 at 12:31 PM, stepharo <[hidden email]> wrote:

On 2/9/14 09:11, François Stephany wrote:
If you don't want a separate DB, object serialization with Fuel is an option. It's very easy to serialize a graph of objects to disk.
You can also have a look at SandstoneDB, it's pretty small and some people use it.
pay attention that images can get corrupted so I would in addition use a file based approach (STON or whatever).


Cheers,
Francois


On Tue, Sep 2, 2014 at 8:17 AM, Roelof Wobben <[hidden email]> wrote:
Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof






Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

Pierce Ng-3
On Tue, Sep 02, 2014 at 03:55:50PM +0300, kilon alios wrote:
> When I was coding in Python for small local databases SQlite was
> recommended , I only have played briefly with it but it looked to me fairly
> easy to use and with a very good performance. But I dont know how well it
> works in Pharo, so maybe someone can jump in and tells us about it .

Give it a spin:

  http://www.samadhiweb.com/tags/sqlite
  http://ss3.gemtalksystems.com/ss/NBSQLite3/

Pierce


Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

kilon.alios
ah yes thats it , thanks Pierce . It may come handy for my project Ephestos, though I prefer to keep things inside the Pharo image personally. 


On Tue, Sep 2, 2014 at 4:04 PM, Pierce Ng <[hidden email]> wrote:
On Tue, Sep 02, 2014 at 03:55:50PM +0300, kilon alios wrote:
> When I was coding in Python for small local databases SQlite was
> recommended , I only have played briefly with it but it looked to me fairly
> easy to use and with a very good performance. But I dont know how well it
> works in Pharo, so maybe someone can jump in and tells us about it .

Give it a spin:

  http://www.samadhiweb.com/tags/sqlite
  http://ss3.gemtalksystems.com/ss/NBSQLite3/

Pierce



Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

EstebanLM
problem with relational databases is that they do not match really well with object models. 
nowadays you have a lot of cool solutions that allow you to avoid them (several document-oriented databases, object-oriented, etc.)

so unless you are really constrained for some reason (like imposition of customers), or you have real use cases (like doing complex tabular projections),  I would always recommend to take another approach than relational. 

stay in objects as much as you can! 

Esteban

On 02 Sep 2014, at 15:18, kilon alios <[hidden email]> wrote:

ah yes thats it , thanks Pierce . It may come handy for my project Ephestos, though I prefer to keep things inside the Pharo image personally. 


On Tue, Sep 2, 2014 at 4:04 PM, Pierce Ng <[hidden email]> wrote:
On Tue, Sep 02, 2014 at 03:55:50PM +0300, kilon alios wrote:
> When I was coding in Python for small local databases SQlite was
> recommended , I only have played briefly with it but it looked to me fairly
> easy to use and with a very good performance. But I dont know how well it
> works in Pharo, so maybe someone can jump in and tells us about it .

Give it a spin:

  http://www.samadhiweb.com/tags/sqlite
  http://ss3.gemtalksystems.com/ss/NBSQLite3/

Pierce




Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

Roelof
Hello Estaban.

Do you have a tutorial or a example how I can store my data in objects.

Roelof


Esteban Lorenzano schreef op 2-9-2014 15:23:
problem with relational databases is that they do not match really well with object models. 
nowadays you have a lot of cool solutions that allow you to avoid them (several document-oriented databases, object-oriented, etc.)

so unless you are really constrained for some reason (like imposition of customers), or you have real use cases (like doing complex tabular projections),  I would always recommend to take another approach than relational. 

stay in objects as much as you can! 

Esteban

On 02 Sep 2014, at 15:18, kilon alios <[hidden email]> wrote:

ah yes thats it , thanks Pierce . It may come handy for my project Ephestos, though I prefer to keep things inside the Pharo image personally. 


On Tue, Sep 2, 2014 at 4:04 PM, Pierce Ng <[hidden email]> wrote:
On Tue, Sep 02, 2014 at 03:55:50PM +0300, kilon alios wrote:
> When I was coding in Python for small local databases SQlite was
> recommended , I only have played briefly with it but it looked to me fairly
> easy to use and with a very good performance. But I dont know how well it
> works in Pharo, so maybe someone can jump in and tells us about it .

Give it a spin:

  http://www.samadhiweb.com/tags/sqlite
  http://ss3.gemtalksystems.com/ss/NBSQLite3/

Pierce





Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

pdigonzelli1
In reply to this post by Tim Mackinnon
What about transactions and ACID things with voyager and Mongo?



Ing. Pablo Digonzelli
Software Solutions
IP-Solutiones SRL
Metrotec SRL
25 de Mayo 521
Email: [hidden email]
[hidden email]
Cel: 5493815982714


De: "Tim Mackinnon" <[hidden email]>
Para: "Any question about pharo is welcome" <[hidden email]>
Enviados: Martes, 2 de Septiembre 2014 6:33:26
Asunto: Re: [Pharo-users] best solution to store data

Esteban talked about Voyage at ESUG, its on the list of talks here:  http://goo.gl/E1VF53

You can of course scale up to Gemstone (or indeed start with that as well if you need something more commercial and supported - there is a Gemstone talk in that link as well).

Tim

On 2 Sep 2014, at 07:17, Roelof Wobben <[hidden email]> wrote:

Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof



Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

EstebanLM
In reply to this post by Roelof
Hi, 

It depends… how? which framework do you want to use?

if you use sandstonedb, you can check this old post from Ramon Leon (its author):


is old, and related to squeak… but it still works :)

if you use Voyage (and then MongoDB), you can check the documentation section here: 


and specially the "Voyage chapter”, from Johan Fabry, here: 


finally… if you chose a relational approach, there are several ways to do it, but you could use Glorp and PostgreSQL, and then you can take the article Sven released yesterday as an example )it just came out from the oven):


sadly, for sqlite I cannot help you, but someone from this list will have some tips, for sure :)

cheers,
Esteban

ps: btw… a common mistake from people coming to pharo for the first time is to carry with them the way of thinking of other environments. For example, to take a decision of which persistence storage use before having clear the design and demands of the applications. I would postpone that decision until you have a clear view of your needs. 
I usually do that by using Voyage-Memory (a set of voyage that allows you to keep the data in a singleton, but in an ordered way), and then, when I know how my app will behave, I decide what to use :)

On 02 Sep 2014, at 16:32, Roelof Wobben <[hidden email]> wrote:

Hello Estaban.

Do you have a tutorial or a example how I can store my data in objects.

Roelof


Esteban Lorenzano schreef op 2-9-2014 15:23:
problem with relational databases is that they do not match really well with object models. 
nowadays you have a lot of cool solutions that allow you to avoid them (several document-oriented databases, object-oriented, etc.)

so unless you are really constrained for some reason (like imposition of customers), or you have real use cases (like doing complex tabular projections),  I would always recommend to take another approach than relational. 

stay in objects as much as you can! 

Esteban

On 02 Sep 2014, at 15:18, kilon alios <[hidden email]> wrote:

ah yes thats it , thanks Pierce . It may come handy for my project Ephestos, though I prefer to keep things inside the Pharo image personally. 


On Tue, Sep 2, 2014 at 4:04 PM, Pierce Ng <[hidden email]> wrote:
On Tue, Sep 02, 2014 at 03:55:50PM +0300, kilon alios wrote:
> When I was coding in Python for small local databases SQlite was
> recommended , I only have played briefly with it but it looked to me fairly
> easy to use and with a very good performance. But I dont know how well it
> works in Pharo, so maybe someone can jump in and tells us about it .

Give it a spin:

  http://www.samadhiweb.com/tags/sqlite
  http://ss3.gemtalksystems.com/ss/NBSQLite3/

Pierce






Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

kilon.alios
In reply to this post by Roelof
When I was coding in Python I was using dictionaries a lot. I have made a tutorial about them here 


Esteban I have instictive dislike since databases that started 23 years ago when I was taught Dbase a database language that was popular at the time in a private school for coding. Party because the teacher was really bad but mostly because I don't like anything that is not a true programming language. So I am 100% for keeping everything objects.


On Tue, Sep 2, 2014 at 5:32 PM, Roelof Wobben <[hidden email]> wrote:
Hello Estaban.

Do you have a tutorial or a example how I can store my data in objects.

Roelof


Esteban Lorenzano schreef op 2-9-2014 15:23:
problem with relational databases is that they do not match really well with object models. 
nowadays you have a lot of cool solutions that allow you to avoid them (several document-oriented databases, object-oriented, etc.)

so unless you are really constrained for some reason (like imposition of customers), or you have real use cases (like doing complex tabular projections),  I would always recommend to take another approach than relational. 

stay in objects as much as you can! 

Esteban

On 02 Sep 2014, at 15:18, kilon alios <[hidden email]> wrote:

ah yes thats it , thanks Pierce . It may come handy for my project Ephestos, though I prefer to keep things inside the Pharo image personally. 


On Tue, Sep 2, 2014 at 4:04 PM, Pierce Ng <[hidden email]> wrote:
On Tue, Sep 02, 2014 at 03:55:50PM +0300, kilon alios wrote:
> When I was coding in Python for small local databases SQlite was
> recommended , I only have played briefly with it but it looked to me fairly
> easy to use and with a very good performance. But I dont know how well it
> works in Pharo, so maybe someone can jump in and tells us about it .

Give it a spin:

  http://www.samadhiweb.com/tags/sqlite
  http://ss3.gemtalksystems.com/ss/NBSQLite3/

Pierce






Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

EstebanLM
In reply to this post by pdigonzelli1
there is no such thing as ACID or transactions in MongoDB, and therefore also not in Voyage. 
instead, for MongoDB each commit is atomic. It happens or it doesn’t :)

Esteban 

On 02 Sep 2014, at 16:46, Pablo R. Digonzelli <[hidden email]> wrote:

What about transactions and ACID things with voyager and Mongo?



Ing. Pablo Digonzelli
Software Solutions
IP-Solutiones SRL
Metrotec SRL
25 de Mayo 521
Email: [hidden email]
[hidden email]
Cel: 5493815982714


De: "Tim Mackinnon" <[hidden email]>
Para: "Any question about pharo is welcome" <[hidden email]>
Enviados: Martes, 2 de Septiembre 2014 6:33:26
Asunto: Re: [Pharo-users] best solution to store data

Esteban talked about Voyage at ESUG, its on the list of talks here:  http://goo.gl/E1VF53

You can of course scale up to Gemstone (or indeed start with that as well if you need something more commercial and supported - there is a Gemstone talk in that link as well).

Tim

On 2 Sep 2014, at 07:17, Roelof Wobben <[hidden email]> wrote:

Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof




Reply | Threaded
Open this post in threaded view
|

Re: best solution to store data

Roelof
Hello,

I think I wil go for a Magma or a xml approach.

Anyone who knows tutorials for both.

Roelof



Esteban Lorenzano schreef op 2-9-2014 16:50:
there is no such thing as ACID or transactions in MongoDB, and therefore also not in Voyage. 
instead, for MongoDB each commit is atomic. It happens or it doesn’t :)

Esteban 

On 02 Sep 2014, at 16:46, Pablo R. Digonzelli <[hidden email]> wrote:

What about transactions and ACID things with voyager and Mongo?



Ing. Pablo Digonzelli
Software Solutions
IP-Solutiones SRL
Metrotec SRL
25 de Mayo 521
Email: [hidden email]
[hidden email]
Cel: 5493815982714


De: "Tim Mackinnon" <[hidden email]>
Para: "Any question about pharo is welcome" <[hidden email]>
Enviados: Martes, 2 de Septiembre 2014 6:33:26
Asunto: Re: [Pharo-users] best solution to store data

Esteban talked about Voyage at ESUG, its on the list of talks here:  http://goo.gl/E1VF53

You can of course scale up to Gemstone (or indeed start with that as well if you need something more commercial and supported - there is a Gemstone talk in that link as well).

Tim

On 2 Sep 2014, at 07:17, Roelof Wobben <[hidden email]> wrote:

Hello,

I want to try to make a financial app for a organisation.

There are some 50 customers so also 50 invoices a year.
Then the payments . Also 50 a year.

Cash and bank accounts . Every month some 10 - 20 things.

So on my disk on the programm I now use it costs me some 30 -  50 Kb a year.

What are my options for storage of those data.

I could use a database , but I wonder if there are more and better options.

Roelof





12