Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 807269
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T00:22:40+00:00 2026-05-15T00:22:40+00:00

Oracle recently released a Berkeley DB back-end to SQLite . I happen to have

  • 0

Oracle recently released a Berkeley DB back-end to SQLite. I happen to have a hundreds-of-megabytes SQLite database that could very well benefit from “improved performance, concurrency, scalability, and reliability”, but Oracle’s site appears to lack any measurements of the improvements. Has anyone here done some benchmarking?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T00:22:40+00:00Added an answer on May 15, 2026 at 12:22 am

    I participated in the beta evaluation of the BDB SQLite code and one of the
    things I tried to get a handle on was the performance difference. At this point,
    I cannot publish exactly what I found until I have at least one other person
    evaluate my code, run the tests, and confirm the numbers I got (which is being
    done). However, I can generalize here and say that there are cases where BDB
    offers significant performance improvements over SQLite, specifically in the
    area of handling heavy loads that involve write-concurrency.

    There are, generally, two measures of “fast” right — (1) efficiency: how long
    does it take for a single process to do XYZ vs. (2) concurrency: how many times
    can many processes do XYZ per unit time. The main problem BDB addresses is
    concurrency — large-scale transaction processing. Thus you think of many
    concurrent connections writing to and/or modifying the contents of the database.

    SQLite by design uses database-level locking so there is a maximum of one
    writer who can be working in the database at a time. Thus, SQLite’s transaction
    rate stays more or less constant with the number of concurrent connections, so
    it’s scalability in write-intensive applications is really measured by its
    efficiency (1).

    BDB on the other hand uses page level locking, which allows multiple writers to
    be working in the database at a given time (provided that they are working on
    separate pages). Thus BDB’s rate potentially increases with the number of
    connections and so its scalability is both a matter of efficiency (1) and
    concurrency (2), which can add up.

    Mainly what it boils down to is (write) concurrency. BDB can push more TPS than
    SQLite for multiple writers. By transaction, I mean something that modifies the
    database (how are they of any real help for read-only operations?). That said,
    for read concurrency (apps that mainly do SELECTs), SQLite could very well go
    head to head with BDB because locking is no longer a critical issue.

    As for the size of the dataset, I am not sure. I’ve not looked into
    that. Ultimately, they both use B-trees for storage. There may be factors in
    their respective implementations to consider, but I’ve not investigated that. I
    know that SQLite can gracefully handle data sets into the hundreds of MBs and
    double digit GBs (and perhaps more now that the dirty page map implementation
    has been changed).

    Therefore, if you have an application which employs many connections that modify
    a given database and page contention is relatively low, then BDB can offer
    significant performance improvements. But page contention is a critical
    variable. In the limit, if you had a BDB database whose data consisted of a
    single page, then its performance would match that of SQLite in all cases
    because page-level locking here effectively degenerates into the equivalent of
    database level locking — everybody is fighting over one thing. However, as the
    number of pages increases in BDB (and page contention decreases), then the
    maximum TPS will start to grow with the number of concurrent connections. Then
    from that point, memory becomes the next limiting factor. But that’s another
    story.

    BTW, I am in the process of writing an article about using BDB for those coming
    from SQLite.

    Article links:

    Oracle Berkeley DB SQL API vs. SQLite API – A Technical Evaluation

    Oracle Berkeley DB SQL API vs. SQLite API – Integration, Benefits and Differences

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have recently changed my Oracle 9 databse to a new database (still Oracle
I haven't heard of bsddb till recently. http://www.oracle.com/us/products/database/berkeley-db/index.html http://en.wikipedia.org/wiki/Berkeley_DB I haven't been able to
I recently installed Oracle's VirtualBox on Ubuntu, due to the fact that I needed
At work I have an app sitting on Oracle 7.3 (old stuff, yes). Recently
We have recently migrated Oracle 6i forms with a native runtime to 10g to
I have recently setup a spring + hibernate project. I am using oracle DB.
We have a .NET application talking to Oracle 10g. Our DBA recently pulled a
I recently started testing on a C# (4.0) app that uses ODP.NET (Oracle.DataAccess 4.112.3)
I have Oracle 11G R2 running on M-4000 machine (supposedly a powerful machine). Recently,
I have recently noticed that nobody uses views in my company (and it's a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.