Forums

Get More Support

Here for you 24/7

learn more
VOD Free SDK

Start Building your Engine Now

Download Now
VOD Extranet

Access to patches, license management,
tech docs and more for existing VOD customers.

Learn More
ASP.NET, server question
Last Post 11 Apr 2010 11:08 PM by gamlerhart. 7 Replies.
AddThis - Bookmarking and Sharing Button Printer Friendly
  •  
  •  
  •  
  •  
  •  
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
Author Messages
darez
New Member
New Member
Posts: 6


--
05 Apr 2010 03:50 PM

    Can i use DB4o with IIS or other WebServer?
    I need to start a project with SQLSERVER, but i want to use DB4o insted. Can anyone help me to understand the limit of db4o?

    darez

    gamlerhart
    Advanced Member
    Advanced Member
    Posts: 790


    --
    05 Apr 2010 08:58 PM

    Yes, db4o runs with ASP.NET. Ensure that the you’ve full trust, in order that everything works.

    What do you mean with limits? Workload, scalability limits? Limits in the use case?

    darez
    New Member
    New Member
    Posts: 6


    --
    06 Apr 2010 03:17 PM
    I have see many studycase about "embedded-solution" scenario.

    I use SQL-SERVER that do this job correclty. But db4o?

    I want to know more about this scenario, because Visual Studio 2010 have built-in UML=>DATABASE SQL convertion.
    So i need to choose from VS-2010 or db4o.

    darez

    darez
    New Member
    New Member
    Posts: 6


    --
    08 Apr 2010 12:20 PM

    Darez
    darez
    New Member
    New Member
    Posts: 6


    --
    08 Apr 2010 12:21 PM

    no one use db4o with web-server scenario?

    darez

    gamlerhart
    Advanced Member
    Advanced Member
    Posts: 790


    --
    11 Apr 2010 08:46 PM

    Hi darez

    I'm still not sure what particular question you want answered. So here some additional infos.

    As said, db4o is optimized for embedded scenarios. (Like SQL Server Compact 3.5). This means normally runs within the application itself an not as standalone server. Its also quite fast for most of the operations. However it doesn't scale up to large databases nor cannot utilize really powerful many-core machines.

    Now it depends for what kind of web-app do you want to use db4o. When it's a small application with not a huge traffic, db4o is a good choice. However when the application is the next stackoverflow.com, db4o won't be able to handle the load.

    I'm not using db4o for a ASP.NET application. However there are project which are using it. There are also blog-posts with some examples (db4o and ASP MVC 2.0). Another thing is that db4o normally used the in memory object-id to recognize objects. However this doesn't work across request. So you might need ids for your objects



     

    darez
    New Member
    New Member
    Posts: 6


    --
    11 Apr 2010 09:50 PM
    Applications with 40-50 concurrent users (read/write), with 30-40 Classes, with 50.000 records about for the classes with big instances.
    I don't know of multi-threading work in db4o: what happened if 10 users do the same request?

    SQLSERVER is optimized for multi-threading request. db4o?

    Darez
    gamlerhart
    Advanced Member
    Advanced Member
    Posts: 790


    --
    11 Apr 2010 11:08 PM

    I assume you mean with '40-50 concurrent users' that 40-50 users are using your web application at the same time? So it's quite unlikely that 40 request happen at the same time, right?

    Currently the core of db4o is basically single threaded. For example when a 'commit'-operation is running, other operations like 'store' etc are blocked until the commit is completed. This limits db4o's ability to scale vertically.

    In you scenario it depends how many request actually happen. And how much time of the request is actually spend in the db4o-database. For example we assume that there's an average of 5 request per second. (50 users, every user send a request a request every 10 seconds) and each request does a few simple queries, stores or commit (100ms) then it's probably fine. However when you run extremely complex, long running queries on the database, it's doesn't work.


    - 30-40 Classes are no problem.
    - '50.000 records': This depends what you mean with records. db4o doesn't know anything about tables and 'records'. The performance characteristics are different than with a relational db. For example when you store 50'000 simple, flat objects in db4o and then query for it, it will be slower than SQL-Server. Because a relational database it a perfect fit for such a scenario.
    However when you have a complex object-graph (lots of object with lots of relations between them)then db4o will start to perform very well compared to SQL-Server.


    What do you mean with ' classes with big instances'? Are you storing binary data like pictures, huge text?Or what?

    You are not authorized to post a reply.


    Active Forums 4.3