[Opensim-dev] Opensim + Hibernate: It works!!!

Impalah impalah at gmail.com
Sun Feb 17 20:01:25 UTC 2008


Hi:

Well, I have discovered an ugly thing in the code: when it first load prims
for region its slooooooooooow. The reason: I have to change the way the
loading is done, seems thaht the "query by example" I use is uneficient.

But, I think it's time to change the database model to be more "hibernated".
I'm designing the new model, normalized and as efficient as I can design it.

It won't affect the main opensim core, only the way the data is stored.
Later maybe I could investigate some ways to implement caches or threading
of some type to accelerate the access...

Greetings


2008/2/15, Impalah <impalah at gmail.com>:
>
> Hi again:
>
> I think that the nhibernate implementation is stable now. I only have
> "cosmetic" problems to solve and implement some functions for getting user
> friends and related (here I will need to do some changes in the database
> model, so I didn't touch it by now).
>
> It's a "raw" migration without modifying the current database and based on
> the mysql code (*.Data.Mysql). I only mapped the tables to hibernate objects
> and added a new plugin (Opensim.Framework.Data.Hibernate) and one
> utilities project (Opensim.Framework.Persistence).
>
> There is only another project (Opensim.Framework.DBCreator) to launch the
> hibernate DDL creation (it could be done using ant, I don't know if nant
> does it). It creates the tables in the database configured in
> hibernate.cfg.xml without scripts.
>
> I have tested the project both with .NET and mono using Mysql and SQLite.
> I've tried with Microsoft SQL Server but it doesn't work: problems with the
> database definition (it's under investigation, seems some fields of uint and
> float need to be higher...).
>
> And the basic GUI tests I did included creating prims, texturing,
> modifying, copying (800 prims less than 10 seconds), creating inventory
> assets, upload textures, etc.
>
> So I think it's time to upload the code to somewhere for anybody can test
> it (somewhere is "subversion repository of any kind"). I need more feedback
> from the rest of the developers/testers/users. It won't damage anything,
> it's implemented as a plugin. Well, and I won't have to take my usb-memory
> in my pocket everywhere I go :-P
>
> I will prepare a little document to explain how to configure the new
> plugin, it requires some "manual" steps.
>
> Please, tell me something. I am really behind schedule with work for my
> "virtual enterprise" in SL (Henshin IV is in my pocket waiting) and need
> full time this weekend, so I can't do more development and tesing these
> days... I need feedback from you all!!!
>
> Greetingzzz
>
>
> 2008/2/15, Sean Dague <sean at dague.net>:
> >
> > On Fri, Feb 15, 2008 at 12:40:02AM +0100, Impalah wrote:
> > > Hi:
> > >
> > > I've finished for today... I'm tired :-) But I have the work almost
> > done, at
> > > least it's "functional" (tested on Opensim version of february 5th)
> > >
> > > It's here for download:
> > >
> > http://ai-designstudio.net/index.php?option=com_docman&task=doc_details&gid=41&Itemid=88889037&lang=en
> > >
> > > There is a prebuild.xml file but we must include "by hand" the
> > > hibernate.cfg.xml file and all the hbm.xml into the project
> > Persistence.
> > > Later we must copy these files to the main bin directory (not into
> > mappings
> > > in bin). The xml files must be configured as "Embedded resources".
> > >
> > > I've included an Opensim.ini file with the configuration. For
> > configuring
> > > the database:
> > > - Create A NEW SCHEMA for testing
> > > - Open hibernate.cfg.xml and set the values for database, user and
> > password.
> > > - Execute the SQL Alltables.sql (careful with the database name into
> > the
> > > script, I've used "nhopensim").
> > >
> > > Rebuild and launch...
> > >
> > > What is working now:
> > > - Create user from the console (maybe any little problem with
> > inventories).
> > > - Login, build, modify prims (except texture and shape... it's my
> > fault but
> > > I'm too tired to look for the error). Copy prims, delete, etc.
> > > - Inventory, create new items, delete, etc.
> > > - The objects in the region are persisted so they will be there when
> > you
> > > reboot opensim.
> > >
> > > And the errors:
> > > - Primshapes and related, sometimes has errors.
> > > - No "lock" in any method, maybe sometimes there will be threading
> > > problems... I need to solve this.
> > > - Sometimes is slow, I need to polish up the code (transactions and
> > > flushes).
> >
> >
> > I'm quite excited by this. :)  I'll take some time today to poke at it.
> >
> >
> > > I've tested the code in Windows with mySql both in .NET and mono. It
> > worked
> > > ok in both cases.
> > >
> > > I have pending jobs: one is to finish the integration and stabilize,
> > the
> > > other is to test completely opensim with sqlite and mssql.
> > >
> > > This morning I tested the automatic database model generator (it will
> > be
> > > included in opensim core) at work, over mssql and sqlite; it worked
> > ok, and
> > > passed the nunit tests, so I think there won't be any problem (Oracle
> > is
> > > another objective, maybe next week).
> > >
> > > I will be very grateful if someone test the code and tell me how it
> > works.
> > > And if there is the possibility of having a SVN repository where Jon
> > and I
> > > can work it will make easy our work (a branch with an opensim version
> > where
> > > we can upload the files).
> > >
> > > Greetings
> > >
> > >
> > > PD - Ah... the dummy question again: what's the parameter of prebuild
> > to
> > > include the xml files as embedded resources???
> >
> >
> > There is an example in the section for MySQL database plugin in ours
> > today.
> >
> >         -Sean
> >
> >
> > > _______________________________________________
> > > Opensim-dev mailing list
> > > Opensim-dev at lists.berlios.de
> > > https://lists.berlios.de/mailman/listinfo/opensim-dev
> >
> >
> > --
> > __________________________________________________________________
> >
> > Sean Dague                                       Mid-Hudson Valley
> > sean at dague dot net                            Linux Users Group
> > http://dague.net                                 http://mhvlug.org
> >
> > There is no silver bullet.  Plus, werewolves make better neighbors
> > than zombies, and they tend to keep the vampire population down.
> > __________________________________________________________________
> >
> > -----BEGIN PGP SIGNATURE-----
> > Version: GnuPG v1.4.6 (GNU/Linux)
> >
> > iD8DBQFHtX71SamXem9TdyYRAlm0AKCVzHobyfQ60XMV5FHO85hNK/qb/wCdFV3V
> > UH5dwDLfrekupUje2uEcbFE=
> > =vgmU
> > -----END PGP SIGNATURE-----
> >
> > _______________________________________________
> > Opensim-dev mailing list
> > Opensim-dev at lists.berlios.de
> > https://lists.berlios.de/mailman/listinfo/opensim-dev
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080217/360c09fc/attachment-0001.html>


More information about the Opensim-dev mailing list