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 |
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, |
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, |
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 > > |
In reply to this post by fstephany
On 2/9/14 09:11, François Stephany
wrote:
pay attention that images can get corrupted so I would in addition use a file based approach (STON or whatever).
|
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:
|
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:
|
In reply to this post by Roelof
On 2/9/14 13:01, Roelof Wobben wrote:
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).
|
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:
|
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:
|
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:
|
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 |
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:
|
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:
|
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. |
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 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 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, |
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:
|
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:
|
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:
|
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. |
Free forum by Nabble | Edit this page |