Hi, I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ? - Which object database can be accessed from Smalltalk AND Ruby or Python ? How ? - I want to try MySQL too. Is there up to date small applications on squeaksource which show this stuff quite well ? Thanks for help ! Laurent Laffont
Excellent idea! Stef On Feb 17, 2010, at 7:45 AM, laurent laffont wrote:
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ? - Which object database can be accessed from Smalltalk AND Ruby or Python ? How ? - I want to try MySQL too. Is there up to date small applications on squeaksource which show this stuff quite well ?
Thanks for help !
Laurent Laffont _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
PostgreSQL has native drivers. Take a look at Glorp, Magritte and SqueakDBX On Wed, Feb 17, 2010 at 11:25 AM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
Excellent idea!
Stef
On Feb 17, 2010, at 7:45 AM, laurent laffont wrote:
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ? - Which object database can be accessed from Smalltalk AND Â Ruby or Python ? How ? - I want to try MySQL too. Is there up to date small applications on squeaksource which show this stuff quite well ?
Thanks for help !
Laurent Laffont _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/2/17 laurent laffont <laurent.laffont@gmail.com>
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ?
Magma is the option I select, but not tried yet on Pharo. Cheers. Germán.
On 2/17/10 6:46 AM, Germán Arduino wrote:
2010/2/17 laurent laffont <laurent.laffont@gmail.com <mailto:laurent.laffont@gmail.com>>
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ?
Magma is the option I select, but not tried yet on Pharo.
Magma 1.0v43 works on Pharo, I'm moving a production system to it (still in development but I haven't had any problems out of the normal kind caused by me mucking around). From what I've seen Magma is the only open source object database in Squeak that is still maintained and actively used. There is also GOODS, but I don't think that's being maintained (so you're on your own getting it to work). As for an object database that can be accessed from BOTH Squeak and Ruby... ? I think you might consider Gemstone/S, because their new Ruby product Maglev also runs on top of their Smalltalk runtime, but I have no idea how objects created using Smalltalk (like from GLASS) would show up in Maglev. Might be an interesting experiment!
Cheers. Germán.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Dave Woodward ................................................... www.promedmedical.net 317.332.6438 davewoodward@promedmedical.net
On 17 Feb 2010, at 13:47, Dave Woodward wrote:
There is also GOODS, but I don't think that's being maintained (so you're on your own getting it to work).
GOODS itself is still being maintained and the Squeak interface works just fine in Pharo too. We have it working in a project. ---------------------------- Johan Brichau johan.brichau@uclouvain.be
2010/2/17 Dave Woodward <davewoodward@promedmedical.net>
On 2/17/10 6:46 AM, Germán Arduino wrote:
2010/2/17 laurent laffont <laurent.laffont@gmail.com>
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ?
Magma is the option I select, but not tried yet on Pharo.
Magma 1.0v43 works on Pharo,
Good to know.
Gofer new squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfMagma'; load. (Smalltalk at:#ConfigurationOfMagma) project latestVersion load Fantastic ! and there's also: ConfigurationOfGlorpDBX ConfigurationOfSQLite3 ConfigurationOfSqueakDBX Laurent Laffont 2010/2/17 Germán Arduino <garduino@gmail.com>
2010/2/17 Dave Woodward <davewoodward@promedmedical.net>
On 2/17/10 6:46 AM, Germán Arduino wrote:
2010/2/17 laurent laffont <laurent.laffont@gmail.com>
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ?
Magma is the option I select, but not tried yet on Pharo.
Magma 1.0v43 works on Pharo,
Good to know.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Dear All, We've also created a (little) project that uses Magma: http://www.squeaksource.com/SunnysidePlanning2/ <http://www.squeaksource.com/SunnysidePlanning2/>We've noticed, if you cache the correct things, Magma is single user very fast; but also highly scalable (ha options + the number of items it can hold in a collection). Once the initial setUp was done, adding new behaviour on our domain objects took no effort. No effort at all. It just got saved ... Kind Regards, Bart 2010/2/17 laurent laffont <laurent.laffont@gmail.com>
Gofer new squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfMagma'; load. (Smalltalk at:#ConfigurationOfMagma) project latestVersion load
Fantastic !
and there's also: ConfigurationOfGlorpDBX ConfigurationOfSQLite3 ConfigurationOfSqueakDBX
Laurent Laffont
2010/2/17 Germán Arduino <garduino@gmail.com>
2010/2/17 Dave Woodward <davewoodward@promedmedical.net>
On 2/17/10 6:46 AM, Germán Arduino wrote:
2010/2/17 laurent laffont <laurent.laffont@gmail.com>
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ?
Magma is the option I select, but not tried yet on Pharo.
Magma 1.0v43 works on Pharo,
Good to know.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- imagination is more important than knowledge - Albert Einstein Logic will get you from A to B. Imagination will take you everywhere - Albert Einstein Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning. - Albert Einstein The true sign of intelligence is not knowledge but imagination. - Albert Einstein However beautiful the strategy, you should occasionally look at the results. - Sir Winston Churchill It's not enough that we do our best; sometimes we have to do what's required. - Sir Winston Churchill
All those interesting pieces of information about what works and what does not is very valuable. Is there a means of having a place in Pharo Wiki where we could publish and update this? -- Cesar Rabak Em 17/02/2010 13:05, Germán Arduino < garduino@gmail.com > escreveu: 2010/2/17 Dave Woodward <davewoodward@promedmedical.net> On 2/17/10 6:46 AM, Germán Arduino wrote: 2010/2/17 laurent laffont <laurent.laffont@gmail.com> Hi, I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ? Magma is the option I select, but not tried yet on Pharo. Magma 1.0v43 works on Pharo, Good to know.
On Feb 18, 2010, at 00:43 , csrabak@bol.com.br wrote:
All those interesting pieces of information about what works and what does not is very valuable.
Is there a means of having a place in Pharo Wiki where we could publish and update this?
Yes, sure. Please add a page to the wiki http://code.google.com/p/pharo/w/list (if you don't have access, please send me the mail address of your google account). Some of the mentioned DB clients are also listed here: http://code.google.com/p/pharo/wiki/PackagesTestedInPharo Cheers, Adrian
-- Cesar Rabak
Em 17/02/2010 13:05, Germán Arduino < garduino@gmail.com > escreveu:
2010/2/17 Dave Woodward <davewoodward@promedmedical.net>
On 2/17/10 6:46 AM, Germán Arduino wrote:
2010/2/17 laurent laffont <laurent.laffont@gmail.com>
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ?
Magma is the option I select, but not tried yet on Pharo.
Magma 1.0v43 works on Pharo,
Good to know.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
we are working on setting up a pier book so that you guys can structure this information in a nice way. On Feb 18, 2010, at 12:43 AM, csrabak@bol.com.br wrote:
All those interesting pieces of information about what works and what does not is very valuable.
Is there a means of having a place in Pharo Wiki where we could publish and update this?
-- Cesar Rabak
Em 17/02/2010 13:05, Germán Arduino < garduino@gmail.com > escreveu:
2010/2/17 Dave Woodward <davewoodward@promedmedical.net>
On 2/17/10 6:46 AM, Germán Arduino wrote:
2010/2/17 laurent laffont <laurent.laffont@gmail.com>
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ?
Magma is the option I select, but not tried yet on Pharo.
Magma 1.0v43 works on Pharo,
Good to know.
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Laurent, you might want to have a look at SqueakSave http://www.hpi.uni-potsdam.de/hirschfeld/projects/squeaksave/index.html an object-relational (O/R) mapping framework. It looks similar to the rails ActiveRecord framework (from what I have seen so far) so it might be fine in scenarios where you absolutely want a relational database. A bit older: http://video.google.com/videoplay?docid=-5024583807516452190&hl=en# 2010/2/17 laurent laffont <laurent.laffont@gmail.com>:
Hi, I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ? - Which object database can be accessed from Smalltalk AND Â Ruby or Python ? How ? - I want to try MySQL too. Is there up to date small applications on squeaksource which show this stuff quite well ? Thanks for help ! Laurent Laffont
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Wed, Feb 17, 2010 at 9:08 PM, Matthias Berth <matthias.berth@googlemail.com> wrote:
Laurent,
you might want to have a look at SqueakSave
 http://www.hpi.uni-potsdam.de/hirschfeld/projects/squeaksave/index.html
an object-relational (O/R) mapping framework. It looks similar to the rails ActiveRecord framework (from what I have seen so far) so it might be fine in scenarios where you absolutely want a relational database.
A bit older:
http://video.google.com/videoplay?docid=-5024583807516452190&hl=en#
this is a video of Seaside Persistence Options Randal Schwartz' keynote address from Smalltalk Solutions 2008 on Seaside, and Seaside persistence options I remember I saw the slides online somewhere. HTH Matthias
2010/2/17 laurent laffont <laurent.laffont@gmail.com>:
Hi, I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ? - Which object database can be accessed from Smalltalk AND Â Ruby or Python ? How ? - I want to try MySQL too. Is there up to date small applications on squeaksource which show this stuff quite well ? Thanks for help ! Laurent Laffont
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
I like the idea that you do not have to change your root class superclass to get it saved. Stef On Feb 17, 2010, at 9:08 PM, Matthias Berth wrote:
Laurent,
you might want to have a look at SqueakSave
http://www.hpi.uni-potsdam.de/hirschfeld/projects/squeaksave/index.html
an object-relational (O/R) mapping framework. It looks similar to the rails ActiveRecord framework (from what I have seen so far) so it might be fine in scenarios where you absolutely want a relational database.
A bit older:
http://video.google.com/videoplay?docid=-5024583807516452190&hl=en#
2010/2/17 laurent laffont <laurent.laffont@gmail.com>:
Hi, I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ? - Which object database can be accessed from Smalltalk AND Ruby or Python ? How ? - I want to try MySQL too. Is there up to date small applications on squeaksource which show this stuff quite well ? Thanks for help ! Laurent Laffont
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi! Since object databases and other databases are a dear subject to me I must reply with some "hints" :) laurent laffont wrote:
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ?
Magma is in that case what you want. GOODS was mentioned, but I have not used it. We use Magma in Gjallar and while I am now leaning to try another solution it has worked quite fine, but a tad slow. Note though that the slowness can probably be fixed.
- Which object database can be accessed from Smalltalk AND Ruby or Python ? How ?
Well, if this is an important aspect I would look at CouchDB or MongoDB (but so far there is no working driver for Pharo/Squeak - but Kent Beck is working on one, and I wanted to do it - but haven't had the time). These new "document databases" like CouchDB and MongoDB are quite object database-ish, and they work perfectly fine in a mixed environment and have very good Ruby/Python support. For CouchDB we have two drivers at this point, one based on Curl and one using straight SocketStream directly that Igor works on.
- I want to try MySQL too. Is there up to date small applications on squeaksource which show this stuff quite well ?
Not sure. SqueakSave was mentioned and I think it probably is a very interesting GLORP alternative. regards, Göran
El jue, 18-02-2010 a las 00:40 +0100, Göran Krampe escribió:
Hi!
Since object databases and other databases are a dear subject to me I must reply with some "hints" :)
laurent laffont wrote:
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ?
Magma is in that case what you want. GOODS was mentioned, but I have not used it. We use Magma in Gjallar and while I am now leaning to try another solution it has worked quite fine, but a tad slow. Note though that the slowness can probably be fixed.
- Which object database can be accessed from Smalltalk AND Ruby or Python ? How ?
Well, if this is an important aspect I would look at CouchDB or MongoDB (but so far there is no working driver for Pharo/Squeak - but Kent Beck is working on one, and I wanted to do it - but haven't had the time).
Also don't forget Cassandra, as the code to connect to cassandra from Squeak/Pharo is working again (even only through the thrift interface, as there isn't a native interface). http://incubator.apache.org/cassandra/ I made some fixes to the code and tested it in Pharo RC1. I was testing Cassandra for storage for a demo app, but I left that on the side. Nevertheless, the code worked correctly in storing and retrieving data from Cassandra. Cheers -- Miguel Cobá http://miguel.leugim.com.mx
Hi Göran, since this is at least the second time you've indicated having a performance issue with Magma, I'd like to reiterate my offer of assistance. I know it takes time to evaluate other persistence options, so I would be surprised if you've already started off in another direction merely because you thought nothing could be done. Indeed, and you even indicated optimism that the slowness can probably be fixed. Given my limited knowledge of Gjaller, it seems to me that Magma should be a perfect fit for it, especially in terms of performance and scalability. My own curiousity is brimming, you are having a performance issue, there are many many opportunities for optimization, wouldn't you like to talk about it? - Chris 2010/2/17 Göran Krampe <goran@krampe.se>:
Hi!
Since object databases and other databases are a dear subject to me I must reply with some "hints" :)
laurent laffont wrote:
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ?
Magma is in that case what you want. GOODS was mentioned, but I have not used it. We use Magma in Gjallar and while I am now leaning to try another solution it has worked quite fine, but a tad slow. Note though that the slowness can probably be fixed.
- Which object database can be accessed from Smalltalk AND Â Ruby or Python ? How ?
Well, if this is an important aspect I would look at CouchDB or MongoDB (but so far there is no working driver for Pharo/Squeak - but Kent Beck is working on one, and I wanted to do it - but haven't had the time).
These new "document databases" like CouchDB and MongoDB are quite object database-ish, and they work perfectly fine in a mixed environment and have very good Ruby/Python support.
For CouchDB we have two drivers at this point, one based on Curl and one using straight SocketStream directly that Igor works on.
- I want to try MySQL too. Is there up to date small applications on squeaksource which show this stuff quite well ?
Not sure. SqueakSave was mentioned and I think it probably is a very interesting GLORP alternative.
regards, Göran
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Hi! Chris Muller wrote:
Hi Göran, since this is at least the second time you've indicated having a performance issue with Magma, I'd like to reiterate my offer of assistance.
Thanks. :)
I know it takes time to evaluate other persistence options, so I would be surprised if you've already started off in another direction merely because you thought nothing could be done. Indeed, and you even indicated optimism that the slowness can probably be fixed. Given my limited knowledge of Gjaller, it seems to me that Magma should be a perfect fit for it, especially in terms of performance and scalability.
My own curiousity is brimming, you are having a performance issue, there are many many opportunities for optimization, wouldn't you like to talk about it?
Sure, my problem is that I have a general lack of time. But I intend to try to take a serious look soon. I presume that strategies in combination with running with external server might help "enough". Getting a session takes time, I have written a second "preallocated session queue" to remove that issue, and it seems to work ok. It was a long time since I worked on this, so I don't have more details at hand right now. I need to start by rebasing on newest Magma. regards, Göran
Hi Laurent. I agree with you. From my point of view, there are a lot of persistence strategies and possibilities. But the problem I faced most of the time is that you are not able to choose. It is not common you can choose the database and even more the database. At least in real business or company applications. Thee are a LOT of reason, logical and not logical. If you want I can share with you the reasons I found so far. If you can choose, I would probably use a OO database. Magma or GLASS are the better solutions for me. There is also GOODS but I heard bad comments from a friends that are using it at their work. Then you have all those "non traditional" databases like Toyko, CouchDB, MongoDB, etc. You can give them a try. You have also serializers like SIXX, ImageSegments, SmartRefStream, save in the image, etc. This can be a solution for very limited for my opinion (small apps). However, they are very useful when starting a project or even for prototyping. Finally, you may HAVE or you want to use relational database. First, which database? most of the time, you cannot choose. For Pharo, there seems to be native drivers for PostgreSQL and MySQL. The first one is working on Pharo. The second one I don't know. SQLite driver I think it is not native (maybe I am wrong...). We did SqueakDBX where you can talk with Oracle, MSSQL, MySQL, PostgreSQL, Sqlite3, Firebird (only windows) and ODBC in all OS (Linux, Mac Os and Windows). After the "driver layer" then you have Glorp and SqueakSave mostly. Glorp is much powerful and complete. But, the Pharo/Squeak version is quite old as Glorp is developed in VW. The "problem" with Glorp is that you have to write all the queries by hand. If you want to use other that PostgreSQL with Glorp in Pharo then you need to install GlorpDBX. You can SandstoneDB if you want and then you also have Glorp-ActiveRecord, but only VW (as it is new, it is not ported to squeak or pharo). In those approaches, the time of developing is less as you don't have to write all the mappings. Finally, with SqueakSave you can automatically persist. It takes care of writing everything. You don't need to write the mappings. Of course, you need to follow certain conventions in the names. SqueakSave supports MySQL and PostgreSQL only althought they wanted to interface with SqueakDBX to support all databases. I don't know neither if it works on Pharo. Of course, it seems to be a less slower than Glorp as the queries are not the faster. If I were you, for the screencast, I would really like to see the following scenario: you have a domain model and then you persists: 1) Image based / serializers (sixx, ImageSegments, SmartRefStream, etc) 2) OO database -> magma or GLASS 3) Relational database -> Glorp, SqueakSave, etc Each item can be a different post and for each item you show the advantages or disadvantages and of course, in each item, the domain model is the same. Of course this may require a lot of time and effort :) Uffff now I realized this is almost the same Torsted said. Sorry. Cheers Mariano 2010/2/17 laurent laffont <laurent.laffont@gmail.com>
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ? - Which object database can be accessed from Smalltalk AND Ruby or Python ? How ? - I want to try MySQL too. Is there up to date small applications on squeaksource which show this stuff quite well ?
Thanks for help !
Laurent Laffont
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Thank you very much Mariano. Now I can choose because Pharo is still a hobby for me ;) I've started learning Magma, it's fun, so easy .... Laurent Laffont 2010/2/18 Mariano Martinez Peck <marianopeck@gmail.com>
Hi Laurent.
I agree with you. From my point of view, there are a lot of persistence strategies and possibilities. But the problem I faced most of the time is that you are not able to choose. It is not common you can choose the database and even more the database. At least in real business or company applications. Thee are a LOT of reason, logical and not logical. If you want I can share with you the reasons I found so far.
If you can choose, I would probably use a OO database. Magma or GLASS are the better solutions for me. There is also GOODS but I heard bad comments from a friends that are using it at their work.
Then you have all those "non traditional" databases like Toyko, CouchDB, MongoDB, etc. You can give them a try.
You have also serializers like SIXX, ImageSegments, SmartRefStream, save in the image, etc. This can be a solution for very limited for my opinion (small apps). However, they are very useful when starting a project or even for prototyping.
Finally, you may HAVE or you want to use relational database. First, which database? most of the time, you cannot choose. For Pharo, there seems to be native drivers for PostgreSQL and MySQL. The first one is working on Pharo. The second one I don't know. SQLite driver I think it is not native (maybe I am wrong...). We did SqueakDBX where you can talk with Oracle, MSSQL, MySQL, PostgreSQL, Sqlite3, Firebird (only windows) and ODBC in all OS (Linux, Mac Os and Windows).
After the "driver layer" then you have Glorp and SqueakSave mostly. Glorp is much powerful and complete. But, the Pharo/Squeak version is quite old as Glorp is developed in VW. The "problem" with Glorp is that you have to write all the queries by hand. If you want to use other that PostgreSQL with Glorp in Pharo then you need to install GlorpDBX. You can SandstoneDB if you want and then you also have Glorp-ActiveRecord, but only VW (as it is new, it is not ported to squeak or pharo). In those approaches, the time of developing is less as you don't have to write all the mappings. Finally, with SqueakSave you can automatically persist. It takes care of writing everything. You don't need to write the mappings. Of course, you need to follow certain conventions in the names. SqueakSave supports MySQL and PostgreSQL only althought they wanted to interface with SqueakDBX to support all databases. I don't know neither if it works on Pharo. Of course, it seems to be a less slower than Glorp as the queries are not the faster.
If I were you, for the screencast, I would really like to see the following scenario: you have a domain model and then you persists:
1) Image based / serializers (sixx, ImageSegments, SmartRefStream, etc) 2) OO database -> magma or GLASS 3) Relational database -> Glorp, SqueakSave, etc
Each item can be a different post and for each item you show the advantages or disadvantages and of course, in each item, the domain model is the same. Of course this may require a lot of time and effort :)
Uffff now I realized this is almost the same Torsted said. Sorry.
Cheers
Mariano
2010/2/17 laurent laffont <laurent.laffont@gmail.com>
Hi,
I would like to learn on Pharo + databases. I've seen there's several solutions in both object and relational databases. - Which (open source) object database should I start with (most used) ? - Which object database can be accessed from Smalltalk AND Ruby or Python ? How ? - I want to try MySQL too. Is there up to date small applications on squeaksource which show this stuff quite well ?
Thanks for help !
Laurent Laffont
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Mariano Martinez Peck wrote:
Finally, with SqueakSave you can automatically persist. It takes care of writing everything. You don't need to write the mappings. Of course, you need to follow certain conventions in the names. SqueakSave supports MySQL and PostgreSQL only althought they wanted to interface with SqueakDBX to support all databases. I don't know neither if it works on Pharo. Of course, it seems to be a less slower than Glorp as the queries are not the faster.
I have a tweaked version that loads into Pharo. I had to open up the .mcz and edit the source.st to get the first version loaded. The test cases were only set up to run against MySQL, but I've adjusted it for Postgres. I can't remember offhand whether I got all the tests to pass, but I think only a handful were still failing due to MySql vs. Postgres issues. The original repository from HPI seems to be offline now (and a few weeks ago). I've not seen any community of users, and I'm not sure what development is ongoing. I can make my .mcz available if someone wants it. -- Yanni
On Fri, Feb 19, 2010 at 6:19 PM, Yanni Chiu <yanni@rogers.com> wrote:
Mariano Martinez Peck wrote:
Finally, with SqueakSave you can automatically persist. It takes care of writing everything. You don't need to write the mappings. Of course, you need to follow certain conventions in the names. SqueakSave supports MySQL and PostgreSQL only althought they wanted to interface with SqueakDBX to support all databases. I don't know neither if it works on Pharo. Of course, it seems to be a less slower than Glorp as the queries are not the faster.
I have a tweaked version that loads into Pharo. I had to open up the .mcz and edit the source.st to get the first version loaded. The test cases were only set up to run against MySQL, but I've adjusted it for Postgres. I can't remember offhand whether I got all the tests to pass, but I think only a handful were still failing due to MySql vs. Postgres issues.
The original repository from HPI seems to be offline now (and a few weeks ago). I've not seen any community of users, and I'm not sure what development is ongoing. I can make my .mcz available if someone wants it.
Can you put it on squeaksource ? Laurent Laffont
laurent laffont wrote:
The original repository from HPI seems to be offline now (and a few weeks ago). I've not seen any community of users, and I'm not sure what development is ongoing. I can make my .mcz available if someone wants it.
Can you put it on squeaksource ?
I'll clean up the package I have, and then ping the author for how contributions are to be handled (before forking it on squeaksource). BTW, the HPI repository is now back online. -- Yanni
On Fri, Feb 19, 2010 at 9:24 PM, Yanni Chiu <yanni@rogers.com> wrote:
laurent laffont wrote:
The original repository from HPI seems to be offline now (and a few weeks ago). I've not seen any community of users, and I'm not sure
what
development is ongoing. I can make my .mcz available if someone wants it.
Can you put it on squeaksource ?
I'll clean up the package I have, and then ping the author for how contributions are to be handled (before forking it on squeaksource). BTW, the HPI repository is now back online.
Great ! Laurent Laffont
-- Yanni
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
laurent laffont wrote:
On Fri, Feb 19, 2010 at 9:24 PM, Yanni Chiu > > Can you put it on squeaksource ?
I'll clean up the package I have, and then ping the author for how contributions are to be handled (before forking it on squeaksource). BTW, the HPI repository is now back online.
Okay, it's at: http://www.squeaksource.com/SqueakSave SqSave-tkow.127.mcz - This version was created from the HPI version by unzip'ing the .mcz, fixing the issues that prevented it from loading into Pharo, by editing the source.st file, then re-zip'ing into a .mcz package. SqSave-YanniChiu.135.mcz - This version was developed for my needs at the time, then clean up somewhat for public release. Using the native postgres driver (and probably dbx one too), the following 3 tests are still failing:
SqsCTISearchQueryTest.testQueryBlob SqsCTISearchQueryTest.testReferenceToSubclassElementWithinCollection SqsSTISearchQueryTest.testQueryBlob
Some class category names were changed, and some example code left out. The original .127.mcz should be loadable, so you can see what was changed. The repository is set for global read/write. -- Yanni
Yanni excellent to have it on squeaksource. Now did you contact the maintainer (if any) or the people that developed it (I like it a lot) to mention that? Because at least they should know if some changes get introduced that they can cherrypick it. Stef On Feb 28, 2010, at 2:49 AM, Yanni Chiu wrote:
laurent laffont wrote:
On Fri, Feb 19, 2010 at 9:24 PM, Yanni Chiu
Can you put it on squeaksource ?
I'll clean up the package I have, and then ping the author for how contributions are to be handled (before forking it on squeaksource). BTW, the HPI repository is now back online.
Okay, it's at:
http://www.squeaksource.com/SqueakSave
SqSave-tkow.127.mcz - This version was created from the HPI version by unzip'ing the .mcz, fixing the issues that prevented it from loading into Pharo, by editing the source.st file, then re-zip'ing into a .mcz package.
SqSave-YanniChiu.135.mcz - This version was developed for my needs at the time, then clean up somewhat for public release. Using the native postgres driver (and probably dbx one too), the following 3 tests are still failing:
SqsCTISearchQueryTest.testQueryBlob SqsCTISearchQueryTest.testReferenceToSubclassElementWithinCollection SqsSTISearchQueryTest.testQueryBlob
Some class category names were changed, and some example code left out. The original .127.mcz should be loadable, so you can see what was changed. The repository is set for global read/write.
-- Yanni
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
I sent an email last week, and saw no answer, so far. So I've put up what I have. Stéphane Ducasse wrote:
Yanni excellent to have it on squeaksource. Now did you contact the maintainer (if any) or the people that developed it (I like it a lot) to mention that? Because at least they should know if some changes get introduced that they can cherrypick it.
On Sun, Feb 28, 2010 at 2:49 AM, Yanni Chiu <yanni@rogers.com> wrote:
laurent laffont wrote:
On Fri, Feb 19, 2010 at 9:24 PM, Yanni Chiu > > Can you put it on squeaksource ?
I'll clean up the package I have, and then ping the author for how contributions are to be handled (before forking it on squeaksource). BTW, the HPI repository is now back online.
Okay, it's at:
http://www.squeaksource.com/SqueakSave
SqSave-tkow.127.mcz - This version was created from the HPI version by unzip'ing the .mcz, fixing the issues that prevented it from loading into Pharo, by editing the source.st file, then re-zip'ing into a .mcz package.
SqSave-YanniChiu.135.mcz - This version was developed for my needs at the time, then clean up somewhat for public release. Using the native postgres driver (and probably dbx one too), the following 3 tests are
the dbx will work with Blob ONLY in the latests commits...as I have been playing with that few weeks ago.
still failing:
SqsCTISearchQueryTest.testQueryBlob SqsCTISearchQueryTest.testReferenceToSubclassElementWithinCollection SqsSTISearchQueryTest.testQueryBlob
Some class category names were changed, and some example code left out. The original .127.mcz should be loadable, so you can see what was changed. The repository is set for global read/write.
-- Yanni
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On Fri, Feb 19, 2010 at 6:19 PM, Yanni Chiu <yanni@rogers.com> wrote:
Mariano Martinez Peck wrote:
Finally, with SqueakSave you can automatically persist. It takes care of writing everything. You don't need to write the mappings. Of course, you need to follow certain conventions in the names. SqueakSave supports MySQL and PostgreSQL only althought they wanted to interface with SqueakDBX to support all databases. I don't know neither if it works on Pharo. Of course, it seems to be a less slower than Glorp as the queries are not the faster.
I have a tweaked version that loads into Pharo.
This is excellent. I think having SqueakSave working on pharo is a cool thing. If there are differences between squeak, remember a Metacello configuration can help. Please, keep us informed about the progress. Cheers Mariano
I had to open up the .mcz and edit the source.st to get the first version loaded. The test cases were only set up to run against MySQL, but I've adjusted it for Postgres. I can't remember offhand whether I got all the tests to pass, but I think only a handful were still failing due to MySql vs. Postgres issues.
The original repository from HPI seems to be offline now (and a few weeks ago). I've not seen any community of users, and I'm not sure what development is ongoing. I can make my .mcz available if someone wants it.
-- Yanni
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (15)
-
Adrian Lienhard -
Bart Gauquie -
Chris Muller -
csrabak@bol.com.br -
Dave Woodward -
Germán Arduino -
Göran Krampe -
Johan Brichau -
laurent laffont -
Mariano Martinez Peck -
Matthias Berth -
Miguel Enrique Cobá Martinez -
Richard Durr -
Stéphane Ducasse -
Yanni Chiu