[Opensim-dev] Search server DB schema

SignpostMarv Martin opensim at signpostmarv.name
Mon Feb 4 20:17:36 UTC 2008


I may be able to offer my anal retentiveness for database normalisation
on this matter- I would find it helpful to have a specification for the
existing tables (way too much varchar(255) for it's own good)

Justin Clark-Casey wrote:
> Hi David,
>
> Personally, my instinct would be to have one table to hold all the 
> common fields between these searchable objects, and separate tables to 
> hold the details specific to each.
>
> However, this opinion is formed more by my desire for neatness (not 
> having lots of redundant attributes for search objects where certain 
> fields don't apply) than any knowledge about how this may affect 
> performance.
>
> Regards,
>
> --
> justincc
>
> David Wendt JR. wrote:
>   
>> Hello, OpenSim developers.
>>
>>     I have recently taken up OpenSim development. I'm writing plugins 
>> to allow Search to work. I need your opinion on a database schema for 
>> storing the indexed search information for a hypothetical (so far) new 
>> grid service "SearchServer".
>>
>>     I figure out for searching "Places", "Popular Places", and "Land 
>> Sales" we will need the following fields: Parcel UUID, Name, 
>> Description, LandArea, Traffic, Region UUID, Region Maturity Flag, 
>> Region Parent Estate ID, Loc X, Loc Y, Loc Z, Image UUID, 
>> ForSaleStatus, Category, ForSalePrice, AuctionID, Owner UUID, 
>> OwnerIsGroup Flag. Some of these fields won't be implemented for a 
>> long time (especially ParentEstates) but it's good to have those anyway.
>>
>>     The "Classifieds" search tab requires these fields: Entry UUID, 
>> Name, Description, Publisher UUID, Publisher Parent Estate ID, Image 
>> UUID, ClassifiedPrice, AutoRenewFlag, Category, Region UUID, Loc X, 
>> Loc Y, Loc Z, MatureFlag.
>>
>>     The "Events" calendar search tab requires these fields: Event 
>> UUID, Name, Description, Publisher UUID, Publisher Parent Estate ID, 
>> Mature Content Flag, Event Date, Event Length, Region UUID, Loc X, Loc 
>> Y, Loc Z, Cover Charge. The Event calendar also supports notifying 
>> people who opt-in, so it would also require another table with Event 
>> UUID and Subscribing Avatar UUID.
>>
>>     New Search (which I don't forsee being able to implement until way 
>> later) also requires sim object data. Object UUID, Parent Parcel UUID, 
>> Name, ForSaleStatus, ForSalePrice, Loc X, Loc Y, Loc Z seem to be good 
>> enough.
>>
>>     Now I need your opinion on this schema. Is it a good idea to have 
>> each type of searchable object in a separate table? Or would it be 
>> more feasible to have all the relevant fields in a single table 
>> "search" with an "objecttype" enum to differentiate between the types?
>>
>> From,
>>     KMeist Hax
>>
>> ------------------------------------------------------------------------
>> Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try 
>> it now. 
>> <http://us.rd.yahoo.com/evt=51733/*http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ%20> 
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Opensim-dev mailing list
>> Opensim-dev at lists.berlios.de
>> https://lists.berlios.de/mailman/listinfo/opensim-dev
>>   
>>     
>
>
>   



More information about the Opensim-dev mailing list