Discussions

News: Sap DB 7.4 Beta Open Source Database Released with JDBC 3.0

  1. A relative new comer in the world of O/S databases, Sap DB has emerged as a strong competitor in this arena due to its supported features and its operation in enterprise environments (SAP). With this release, they have made a number of major enchancements to the code tree, and have also released a JDBC driver supporting the 3.0 specification. If you are looking for a fast, solid, easily managed database (open source or otherwise) I suggest taking a look at Sap DB:

    http://www.sapdb.org.

    They support a variety of architectures (64 and 32 bit) and a variety of operating systems from solaris to linux to windows.

    The database itself supports

    *Transactions/Sub Transactions
    *Stored Procedures
    *Views
    *Triggers
    *Sequences
    *Scrollable cursors
    *Roles
    *Referential Integrity

    Etc.

    The email support list is free and is terrific. It provides far better service than many paid support services.

    Find more general information at:
    http://www.sapdb.org/sap_db_features.htm

    As a side note, I am not sure as to the status of the JDBC 3.0 driver - i.e. if it is still beta or if it is production - I have heard conflicting statements.

    Cheers
    Ray

    Threaded Messages (51)

  2. I tried to install 7.3 on my Win2K box but failed. I was just out of time to try reinstall or support forums. No flames please as I still believe it's serving many users and open source is GREAT. I wanted to do a quick prototype but had to revert to (trusted) MySql. Anybody using it with success? Does it have a gui to perform DB tasks (even as simple as mySqlGui)?

    Thanks,
    /c
  3. i agree to some extent. I m not sure abt 7.4, but 7.3 gave me a lot of trouble on win 2000 and regarding the email support, I m not sure how somebody found it good enough. I never got a reply back .. not even on the forums.
    Abt the GUi dont know if the 7.4 has any such GUI - something like TOAD GUI.
    Please update us as the features sound great and since its open source and supports referential integrity , I would definately look forward to a stable more supportive version.
  4. Sorry to hear you've had the trouble you report. I have had few troubles on either Windows or Linux environments and under heavy prolonged loads - and I have found the email support to be outstanding - from the simple to the complex. DBMGui for database management and SQL Studio (for queries, etc) work in a Windows environment. Did you try searching the forum for an answer to your problem?

    Cheers
    Ray
  5. I will definitely look into the new version. I m sure its great. Software community really need a good stable Open source Database management system.
      We see a lot of things for freee now like app servers, web servers etc, but not a good DB. When I tried it long back I was in a hurry and didnt have time to investigate. Now I wil give it a try.
    Thanks for the response.
  6. shs wrote
    "Software community really need a good stable Open source Database management system. "
    Have you heard about Interbase ?
    http://firebird.sourceforge.net/

    "Please update us as the features sound great and since its open source and supports referential integrity "

    Interbase Firebird is also open source and have referential integrity and lots of other features. It runs on Linux and Windows
  7. I am little scared by this :

    "NOT supported features:
     -Multi version concurrency for OLTP"

    Can someone share some thought about this topic ?
  8. "NOT supported features:

    > -Multi version concurrency for OLTP"

    I have no idea what that means, except that InterBase and Oracle have a feature they call "Multi version concurrency" whereby they can avoid a lot of locking and allow better conurrency (one long running transaction doesn't need to stop all other short transactions from touching the objects it has touched).

    Read more about it on the firebird site I'm sure there is a page describing it.

    SAP DB uses locking to ensure transactional isolation, just like most (all) other databases (and Oracle before 8.0 AFAIR).

    Performance is great, if that's what you are wondering:)
  9. interbase?

    Come on, I've used Interbase since before it was software (read: open source) and I really like it, but it's not in the same league as SAP DB.

    It's *really* good for what it is: A tiny, simple, fast embedded dbms that has support for most of the ACID features.

    IB kicks MySQL and PG ass, both performance and featurewise though.

    I did have problems getting the IB perl driver stable in production and that was why I dumped it years ago, but it still kicks ass.

    That being said it doesn't scale or support the huge databases and workloads that SAP DB (or DB2 or Oracle) does.
  10. Flemming Frandsen wrote
    "That being said it doesn't scale or support the huge databases and workloads that SAP DB (or DB2 or Oracle) does"
    I'm sorry, but there are lots of companies using Interbase for "huge databases and workloads"
    I personally participated in a few projects for different companies using Interbase for big databases.
    Besides that MySQL is used by lot's of companies for really big databases (Yahoo). So how come that "small and tiny" Interbase "kicks ass" of MySQL if you claim that it's not good for big databases ?
    I personally think that Interbase is the best quality and most feature packed open source database out there.
    If you wanna choose OS DB for your project, you must try Interbase, before you make decision.
  11. This question is for those who profess to know and have used interbase/firebird.
    Does anybody know what are the big companies using interbase/firebird. How big is their database. How many terabytes? Stats are very important, just saying "I have worked with this and this database for big projects is not enough"
    Mind you a big company using a particular database server doesn't mean that this is their main database server, it could be a small auxilliary application using the database for some minor task. I know it from my own personal experience.
    For one thing that I am almost sure, SAP DB is enterprise level big megacorporation like NESTLE, Imperial Oil are using it as their main database server . but I am not sure about interbase/firebird.
  12. For one thing that I am almost sure, SAP DB is enterprise

    > level big megacorporation like NESTLE, Imperial Oil are
    > using it as their main database server.

    Well, SAP R/3 is used by *huge* companies for ERP, but that doesn't mean that it's SAP DB that store the data, SAP R/3 works with Oracle, DB2 and others as well.

    However:
    1) Performance of SAP R/3 ontop of these databases has been shown to fall within a 5% band, so the fastest database is 5% faster than the slowest, so SAP DB can be expected to perform on par with Oracle, DB2 and MickeySQL.

    2) SAP R/3 has over 16000 tables in the database and over 19000 tables.

    I continue to have my API/Metadata generator print the number of tables in the schema relative to SAP R/3:
     Tables: 130 (0.81% of SAP R/3)

    See: http://www.daemonnews.org/200007/SAP_meets_BSD.html
  13. Hi

    I was on of those that stated Interbase/Firebird is a good product. That's all. Of course your mileage may vary. We are using it in environmets from HP-9000 K series (aged, certainly) to pizza boxes with Linux and laptops with Windows 2K for sales representatives.

    ¿Database sizes? The maximun file size IB/FB can manage is 2GB, although it is possible to break-up the database in several files, we had to do that when we reached the limit in the HP-9000.

    About transactions, we have reached up to 2,500 transactions per minute with a given JDBC driver, but, again, your mileage may vary depending on transaction's complexity. You know that about little lies, lies and statistics ;-)

    About "main" database, well it is the "main" database in one subsidiary of the third major financial institution in Mexico. This subsidiary deals with millions of dollars.

    > For one thing that I am almost sure, SAP DB is enterprise
    > level big megacorporation like NESTLE, Imperial Oil are
    > using it as their main database server . but I am not sure
    > about interbase/firebird.

    Well, I'm almost sure that Interbase/Firebird is good for SOME enterprise applications. Of course, it is not in the same league as Oracle, certainly we are migrating the "main" databases to Oracle on newer hardware. However it is good to know about more alternatives, and the merits of IB/FB doesn't add or rest merits on SAP DB. For sure I'll give it a look.



    Cheers


    Javier
  14. I'm sorry, but there are lots of companies using Interbase for "huge databases and workloads"


    What? Who have more than a few GB on InterBase?

    InterBase just doesn't scale, it has all of the database in one file (or several chunks, but that's just a workaround for the 2GB file size limit of some systems) SAP DB and other "big" DBMS'es know about the disk layout so they can plan a query according to how data is laid out on the disks and reorganize data and indexes so they use the system optimally.

    Don't get me wrong, IB is a good database, but it's strengths are as a replacement for the other baby-bases like MySQL and PG.

    IB has the advanced features of the real databases but it is more suited to small (small enogh to fit in RAM) databases.

    I've had many IB databases in production on machines that lost power and I have never lost any data, so it is definatly a good and stable DBMS, just not scalable.
  15. Besides that MySQL is used by lot's of companies for

    > really big databases (Yahoo).
    > So how come that "small and tiny" Interbase "kicks ass"
    > of MySQL if you claim that it's not good for big
    > databases?

    Because there is a difference between what something is good for and what people actually use it for (people use windows for servers all the time, for example:).

    When I say that MySQL is a toy I'm talking about Features, after all, any kid can store 120 GB data on a normal IDE harddisk without using any DBMS.

    The number of bytes you store in a database isn't what matters, MySQL falls down under high load and it doesn't have any of the features that you need to ensure data consistency, so it's irrelavant.


    > I personally think that Interbase is the best quality and
    > most feature packed open source database out there.

    And you are not entirely wrong, it has all the features that you want, certainly more than MySQL and PG, but that doesn't make it scale or make it stable.

    I've used IB for years (since 1995 or so) but I stopped using it after it started failing terribly under load on a production machine, so I ended up porting the system to SAP DB, just as it became Open Source and eventhough it took a lot of work to get the perl driver stable it was worth it, because the database remained stable and reliable (not something I could say about IB)


    > If you wanna choose OS DB for your project, you must try
    > Interbase, before you make decision.

    I did I've used it for years, I was one of the people who helped make the perl driver usable, but I still maintain that it's good for small stuff, not for big high-load stuff.
  16. Our company just switched from MySQL to Firebird. It is Fantastic!

    http://www.firebirdsql.com
    "Firebird is a relational database offering many ANSI SQL-92 features that runs on Linux, Windows, and a variety of Unix platforms. Firebird offers excellent concurrency, high performance, and powerful language support for stored procedures and triggers. It has been used in production systems, under a variety of names since 1981. "
  17. Hi!

    We've been using Interbase for a couple of projects and it's really a very good database. It's simple, it doesn't pretend to do too many things, but the things it does, it does very well. We needed transactions, triggers, domains, users, roles, and it provides all of them at a very good performance.

    But watch out, try only to use the new Type 4 JDBC driver aka JayBird, trying to be productive with interclient/interserver is a nightmare.

    It's a nice piece of software, but a suggest to download directly from the CVS. Although it's in beta, the latest builds are ver stable and there are people that have the driver in production.

    http://firebird.sourceforge.net/index.php?op=files&id=jcajdbc


    Cheers


    Javier
  18. Hi Chris-

    I use 7.3 on both Win2K on Red hat 7.x servers and used it for a lot of ECPerf stuff earlier in the year (internal testing) and my company's portal uses it now. I have found it to be a great database, personally. It has web tools for all platforms and GUI tools for Windows boxes that work pretty well.

    Cheers
    Ray
  19. For doing reasonably normal web sorts of functions.. (ie: lots of reads, some updates and inserts, but not OLTP-types of things..) how does SapDB compare to other open source types of databases? Specifically with regards to speed, management, and backup/recovery? Any support for replication?
  20. Paul -
    Personally, I haven't compared it with either mySQL or PG - so I can't give you a quantitative answer - but perhaps others have done so and can answer you better. I have never had cause to complain about its performance. We (my company) have used it more in the (small) data warehouse arena and with OLTP. We also hit it pretty hard with some EC Perf testing we were doing internally. As for backup/recovery - it has all that, including online backups and also interfaces with external tools like ADSM, Networker, Netvault, Backint for Oracle (so ARCserver, Seagate Backup, etc). Management is pretty straight forward and easy.

    Replication-wise, I don't know what, if anything, it does have. If it does have anything, I don't believe it is as sophisticated as you would find in some of the big vendors.


    Cheers
    Ray
  21. Ray,

    Thanks for the feedback. I was looking to pick a database for a new project, and I think I'll give this one a shot.

    Actually, one additional question is, what is the quality of the JDBC drivers for the 7.3 release? (I don't want to run a pre-release version in 7.4, even if the drivers are improved.) Any problems with normal app servers and such?

    (I have had occasional problems with Postgres over time with its JDBC driver, though more recently its improved and been pretty good..)

    thanks,
  22. What are the current O/S or free db's?

    MySQL
    PostGres (sp)
    SAP DB

    I've used MySQL for a demo contact management site for about 6 months, and it was fine. Then the win2k box got roasted by some dodgey device drivers.

    Jonathan
  23. What are the current O/S or free db's?


    MySQL
    PostGres (sp)
    SAP DB

    plus of course
     - FireBird

    (Based on Borland InterBase)
    http://firebird.sourceforge.net/
  24. apart technical faeture, please remember that you have to pay to use mysql commercially (when you want to ship the db as part of your product)
    this in not true for the other open source databases.
  25. apart technical faeture, please remember that you have to pay to use mysql commercially (when you want to ship the db as part of your product)

    this in not true for the other open source databases.

    NO, no, no.

    That is their "license policy" which will not stand in court.

    The license agreement is GNU. There is more than one way
    to get source and binary. If you get a copy from your
    frient, you do not see the "police". How can the "policy"
    have a binding power?
  26. That is their "license policy" which will not stand in court.


    Actually, it will. If you want to ship MySQL with your product **and** call it MySQL, then you have to accept their license terms. Otherwise, they can sue you for trademark infringement, like they did with NuSphere.
  27. mysql itself is gpl. you can run it as a standalone server but you still have to get a jdbc driver to access it from java. there are two jdbc drivers: the old and now unsupported version, under lgpl (you can use it commercially without paying or having to release your own code ad gpl), and the new supported and actively developed driver, under gpl (or under commercial license if you want to pay). so if you really want to use the jdbc driver you have to pay or release your app under gpl too.
    you can try to "workaround this limit" by creating a server that links to the gpl jdbc driver, and then talk to this server using only sockets. this way you are not linking to a gpl program, and you can use mysql commercially without paying, but you get bad performance.
  28. Paul -
    As I understand their JDBC driver development, it is a separate entity from their database development. The driver (2.) is stable insofar as we have used it. I do not know about the 3.0 version too much though, although it does seem to be their production release at the moment. I will be working with it over the next few weeks to see how well it performs. Perhaps others have worked with the beta versions of the driver prior to the prod release and can be more informative than I.

    I do know that it is developed actively and that the developers participate frequently in the email forums and have been quick to address any issues that have come up.

    Cheers
    Ray
  29. My experience with SAPDB[ Go to top ]

    I had a mixed experience with SAPDB when evaluating it for my company. First of all, what I COULD get to run ran 3x faster than any other database out there. I tried Oracle, SQLS, postgres and sap. sap was 3x faster than Oracle which was the next fastest database.

    The MAJOR problem with SAPDB is that the max size of a resultset row is limited to 8080 bytes. No joke. If you are using Unicode, cut that in half. This means that anytime you do a select a, b, c, d from foobar, the sizes of a b c and d need to add up to be less than 4040/8080.

    Indexes are limited to 1023 bytes or 511 bytes with Unicode.

    If you have schemas like this:

    create table FOOBAR (
        name varchar(2000),
        description varchar(4000)
    )

    in a Unicode database you have just blown past the limit and cannot query for that item. My understanding is that they expect you to define long strings as TEXTs rather than big varchars. Not an option for those of us with legacy schemas.

    In summary, it's really fast if you can live with the serious limitations. We found that our system works with Oracle, SQLS and postgres.
  30. My experience with SAPDB[ Go to top ]

    You are quite right about the 8080 byte limit, varchars also have a 8k limit, but I think the point is that you shouldn't put that long strings in varchar fields anyway, it is simply not effecient, so don't have large rows!

    If you must store huge gobs of data in the database use the designated glob types (LONG or whatever they are called), this allows large opaque lumps of data (that the DBMS can't do anything useful to anyway) to be handled effciently.

    You are right about the legacy schemas, but if you are migrating the data, how hard would it be to change:
     varchar(999999) to LONG?
  31. My experience with SAPDB[ Go to top ]

    Multi version concurrency aka MVCC is critical for scalability and performance in OLTP environement, Oracle Db2 Postgres FB all use MVCC approach so a reader is never blocked by a writer.

    If SAPDB does not support versioning to manage transaction, i fail to see how they can avoid lock contention.
  32. My experience with SAPDB[ Go to top ]

    You are right about the legacy schemas, but if you are

    > migrating the data, how hard would it be to change:
    > varchar(999999) to LONG?

    Very hard if you are limited to one LONG per table (as Oracle is) and so your table has to look like this:

    name varchar(500)
    desc varchar(4000)
    content varchar(4000)
    short_desc varchar(1000)
    url varchar(200)
    ...etc...
  33. My experience with SAPDB[ Go to top ]

    Very hard if you are limited to one LONG per table

    > (as Oracle is) and so your table has to look like this:

    Doh, I never thought about that, but SAP DB doesn't have that defect, I just created this table (internal metadata syntax, but you get the idea:) and tried inserting and selecting data, it works exactly the same from the SQL point of view as varchar, so I guess you can just do a seach'n replace to make all of those huge varchars into LONG's :-)

     test=>{
        has_auto_id=>1,
        doc=>'Test table',
        cols=>{
    col1=>{
    type=>'LONG',
    nullable=>1,
    doc=>'Test column 1',
    },
    col2=>{
    type=>'LONG',
    nullable=>1,
    doc=>'Test column 2',
    },
    col3=>{
    type=>'LONG',
    nullable=>1,
    doc=>'Test column 3',
    },
        },
    },
  34. My experience with SAPDB[ Go to top ]

    Flemming wrote:
    > You are right about the legacy schemas, but if you are
    > migrating the data, how hard would it be to change:
    > varchar(999999) to LONG?

    Hard.

    Many databases (and probably SAPDB too) don't allow you to use intrinsic functions (eg. upper, lower, max, min etc.) or the "like" or "in" operators on clob / blob / long / text / image / varbinary / insert_your_favourite_large_object_type_here columns. This makes such columns pretty much useless for where clauses (either for constraining the result set or for joining tables) and also for order by clauses (since that implies an ordering function over these columns, and such a function doesn't exist for these types).

    It's interesting to note, however, that MS Squirrel Server 2000 has a similar limitation (of 8060 bytes per row from memory), and they recommend exactly the same "solution" (== hack) - use large objects instead of varchars.

    Cheers,
    Peter
  35. My experience with SAPDB[ Go to top ]

    Peter,

    <quote>
    Many databases (and probably SAPDB too) don't allow you to use intrinsic functions (eg. upper, lower, max, min etc.) or the "like" or "in" operators on clob / blob / long / text / image / varbinary / ........
    </quote>

    You are absolutely right, though I guess I have never really considered using really large varchar columns in my join or order-by clauses or doing max or min, upper or lower, etc on these same columns. In what setting do you use these functions on these types of very large varchar columns?

    Cheers
    Ray
  36. My experience with SAPDB[ Go to top ]

    <quote>
    You are absolutely right, though I guess I have never really considered using really large varchar columns in my join or order-by clauses or doing max or min, upper or lower, etc on these same columns. In what setting do you use these functions on these types of very large varchar columns?
    </quote>

    My guess is: "When the design is really poor" ;-)
  37. My experience with SAPDB[ Go to top ]

    <quote>
    My guess is: "When the design is really poor" ;-)
    </quote>

    Exactly!
  38. This is not a release. SapDB 7.4 is now in beta. The current stable is still 7.3. (At least that's what they're saying on their website).
  39. Hence the word "Beta" in the title of the thread:
    Sap DB 7.4 Beta Open Source Database Released with JDBC 3.0
  40. SAP DB can easily replace Oracle in deployments. You can connect to SAP DB in "Oracle-like" mode, where almost all SQL statements have the same syntax. I have ported a couple of applications just by replacing the jdbc driver!

    Great piece of software. Pity it does not have GUI tools for Linux.

    greetings,
    Branko
  41. Maybe I am too new to SAPDB, but it looks like SAPdb does not support user-defined functions which is a pity.
  42. I'm surprised that the strongest point of SAPDB has not been mentioned here yet: The long-term support and development commitment for the DB by SAP. This dwarfs all other pro-arguments and makes most criticisms of the DB less severe.

    SAPDB is in production at 1300 SAP users. That means very long term support contracts, continuous development alongside the new versions of R/3, continuous migration and ports to new OS releases (like new Linux kernels). The open source community gets all the benefits of this work for free, including the rigorous testing that the DB undergoes for R/3 certification.

    I think this is ultracool.

    Of course there are sound commercial and political reasons for SAP to do this - they bite into Oracle's main revenue earner; and they lower the entry costs for R/3 customers. But I don't grudge them their reasons, on the other hand, the fact that it is in *their interest* to continue developing SAPDB makes it even more rational for a third party to use it.

    Cheers,
        Henrik Klagges
        TNGtech
  43. For investigating[ Go to top ]

    Here are 2 other databases, althought they are proprietary (in case of KDB, kind of exotic) that are very interesting.

    BTW : Just for who have time and curiosity !

    KDB from http://www.kx.com : You could download a near 200k piece of software an use it powerful engine. Their column based storage model and time series analysis and roll-ups support are intriger but works very well with really big databases.
     
    Mimer from http://developer.mimer.com : You can download and have 10 developers working with it for free. It supports many OS´s and there are even Pocket PC versions. XA support and optimistic concurrency control are built in.

    Of course, both have JDBC drivers.

    Enjoy !
  44. For investigating[ Go to top ]

    Rodolfo,

    <quote>
    KDB from http://www.kx.com
    </quote>

    I played around with KDB a while back - I really liked its performance and features. Thanks for reminding me that its out there!

    Cheers
    Ray
  45. If you are non-english user, forget this DB (SapDB 7.3).
     
    It is not possible to use e.g. Win1250 codepage with some central european laguages collation rules (Czech, Slovak, Polish, etc.)
     
    There is UNICODE support built in, but ORDER BY clause in SapDB sorts strings by Unicode codes of their characters. It is not useful. There must be a specific collation too.
     
    Any changes in version 7.4 ???
  46. What about Java ?[ Go to top ]

    Open source databases : MySQL, PostresSql, SapDB, FireBird
    but wait !!

    What about open sources SQL databases written in Java ? I mean, could you safely extend some feature or even understand the internal architecture of a big C or C++
    database like these ? I mean, this is the spirit of open
    source, right ? Well, I did some programming with C and C++ before I knew about Java and I really dont want go back to these days !

    I would to know what J2EE community think about the future of theses Java projects, the impact of NIO and if there are anybody that did some real world tests with it.

    These are open source.

    http://www.mckoi.com/database/
    http://hsqldb.sourceforge.net/
    http://axion.tigris.org/

    and this is a commercial Java sql database with XA compliance and a lot of features.

    http://www.daffodilwoods.com

    Chers
  47. MySql 4.0.5 Beta is out[ Go to top ]

    Transaction Support
    Isolation levels

    Looks like an Oracle killer to me:

    http://www.eweek.com/article2/0,3959,293,00.asp
  48. MySql 4.0.5 Beta is out[ Go to top ]

    Sorry. Maybe not an Oracle killer right now. But the pace at which it is going...it could one day kill Oracle.
  49. MySql 4.0.5 Beta is out[ Go to top ]

    Sorry. Maybe not an Oracle killer right now. But the pace at which it is going...it could one day kill Oracle.
  50. If anyone is interested, the SAP DB folks just posted a synopsis of the changes made to the 7.4 (beta) version. It is at:

    http://sapdb.2scale.net/moin.cgi/ChangesIn74

    Cheers
    Ray
  51. Well, I've just played around with MySQL, SAPDB and Interbase a couple of times, but another development team here has used these databases quite a lot;
    They built the (J2EE) product on top of Oracle, later the decision was made to create a "packaged" version of it (i.e. product packaged with J2EE AppServer and database). First, MySQL was not usable because of the limited feature set; it may be nice for some dynamic websites but it is definitely not the best choice for enterprise apps (besides you have to pay for it...). What I've heard from them is that they had quite some issues with Interbase/FireBird although it is a nice product for smaller DBs (talking about database complexity, I'm sure it can handle simple tables with lots of data). When they tried SAPDB they really liked it a lot (and it got the DB of choice); it may not be quite what Oracle, DB2 and MSSQL (don't start MS flames now, this _is_ a good DB) are, but some companies are running R/3 on top of it, and we also were very satisifed with its feature set and performance... no comparison to MySQL or PostGreSQL, Firebird also plays in another league it seems.
    Definitely worth a try, this is a great product and it seems it will be supported in the future (although this is difficult to say, look at what happened to the SAP J2EE AppServer, don't remember the name at the moment :-( ).

    regards,

    Messi
  52. Just as side note on their J2EE App Server(inqmy) - they've brought that into their mySAP Tech stuff and is no longer sold separately. I was reminded of this app server when looking through the source tree of their JDBC 3.0 driver and noticed references in the XA portions to inqmy....then I went out to www.inqmy.com and it takes me to the sap tech pages.

    Cheers
    Ray