What is Holding SAP-DB Back?
Derek Neighbors queries: "The current story about MySQL 4.0 has erupted into a Postgres vs. MySQL debate. We at GNU Enterprise, who have used about all Free and Propietary databases, would like to know why exactly people arent using SAP-DB? It clearly is on par with Oracle, is GPL and frankly has an awesome support team in SAP AG. There was a PG vs SAP-DB recently. Someone else mentioned that you can get CDROMs for free. So again the question is 'What exactly is hindering a wider acceptance of SAP-DB in Free/Open Software projects?'"
sapdb needs a lot of effort to set up and create a
database, sometimes even worse than the magic juju you need to go through with Oracle.
What surprises me more actually is that Interbase/Firebird is not more successfull.
It is free and as simple to set up/use as mysql in my opinion, but avoids most of the
mysql limitations.
i recently installed the latest sapdb and followed the HOWTO instructions from their website. while running the db_cold command, the server crashed with sigsegv. :(
i was too lazy to look for further help and/or report the bug.
right now i try out firebird (interbase), which didn't crash yet *g*
After checking out the SAP-DB website... now Im wondering just why more people aren't using it? Looks like it has a good feature set. Does anyone know if there are php functions for it? A quick scan of the php web site didn't turn up anything...
Have a Happy.
Why are most SAP R/3 installations using oracle as a database if SAP-DB is on par with Oracle??
Makes no sense at all. SAP DB is GPL, Oracle costs shitloads, so there must be a good reason why 99% of all R/3 installations use Oracle.
that SAP DB isn't supported out of the box by Java, Perl, or PHP, etc. but one quick glance shows they support Perl through DBD::ODBC, have an ODBC driver suitable for PHP, and supply a JDBC driver for Java programs.
so now i'm wondering what the catch is. too big? bloated? slow?
well, the minimum requirements on Linux list a base memory footprint of 128 MB. MySQL runs on just about the smallest box you own, and most people tinkering with MySQL are on budgets of $0, meaning, no new bigger boxes for a long, long time.
MORTAR COMBAT!
One thing that bothers the hell out of me is that no DB out there is easier to setup and use than MS SQL server...
In my job I have used literally every DB out there and none of them are easier to setup than Microsoft. It also the easiet to use from the application side. With oracle and other db's you need to know all kinds of listener and config info about where you dbase is. With MS and a few others you just need the servername and dbname and it works. Thats how things should be.
I am quite happy with the way MySQL is coming along.. they finally have a decent admin interface and the other feature they have needed for years... now if installation and usage were just a bit easier they could really compete.
The company I work for uses alot of open source software in it's development - both in terms off server side (linux, apache, etc) and for the application side (Tomcat, JServ, etc).
We don't use SAP-DB because:
I dare say that if we had a pressing business case to learn the extra skill (i.e. we required some of it's fetures on a project that hadn't got the Oracle budget) then we'd consider it.
Then again there are other Dbs that would also cut it in that case too.
MYSQL has a big name in terms of Open Source software and that alone may prevent people from switching from it in favour of a less well known 'brand'.
Better the pride that resides in a Citizen of the world, than the pride that divides when a colourful rag is unfurled
I agree. The sapdb uses a non-standard build system instead of open source tools like automake, autoconf, make and/or ant. Actually, ant would be a nice build tool for sapdb. Converting to a standard build tool would really help get more open source developers interested in trying to unravel and improve the code. While the pascal/c++ mix might be strange, I think someone would hack-a-way at it (I would) anyway if the build tools had an atleast familiar feel. When I setup sapdb, it was definitely more difficult to setup than mysql. I really liked the feature set and I almost used it for a production project I am working on now. It has a lot of potential, but sap is going to need to push towards using the tools the open source community is familiar with.
It's "Industry Standard". /. about a MySQl update feature. People didn't give a shit.
I mentioned Firebird the other day when a guy asked
We use what we're used to, even if it's outdated or pointless. Other stuff is of no interest, Try telling a guy the advantages about Linux over WinXP and you'll know what I mean.
We suffer more in our imagination than in reality. - Seneca
I know you're responding to someone else's claim about SAP-DB being on par with Oracle, but the meaningful question is whether SAP-DB deserves more recognition as a free software database solution, isn't it? What do you do if you need to work on your primary database machine and you're running PostgreSQL? You take the machine down in a maintenance window, and if necessary, put up a secondary machine that is "manual standby."
SAP-DB is pretty much the back end of SAP's commercial systems like SAP R/3. I'm sure there are things that Oracle does that SAP-DB doesn't (just like there are systems that actually do things Oracle doesn't, even though your Oracle sales rep won't admit it), but it's difficult to argue that the system doesn't have credibility in the enterprise.
It also supports Microsoft's cluster server on Windows, with failover; they're working on a cross-platform solution for hot standby, according to the website. It does have a batch mode replication manager, too, at least.
spot on. we also had similar issues with our SAP-DB/SAP installation (although we made sure we got a supported tape library too; there was no way i was going to be stuck doing manual tape loads). it took about 6 months, but we finally got sick of SAP-DB and it's lack of refinements like transactions, and went with Oracle. haven't looked back.
Large parts of SAPDB seem to be written in Pascal, which is processed by a transpiler to generate C code. This makes debugging complicated. In addition, the whole build environment (the transpiler, the project-specific make tool, and so on) have only been released as free software quite recently. This might explain why SAPDB doesn't attract developers from the free software community, but it doesn't explain why it doesn't take the user community by storm.
I hope to be able to use SAPDB some day, if PostgreSQL ever breaks for us. Currently, there's nothing pushing us away from PostgreSQL and SAPDB lacks quite a few features we like in PostgreSQL (the extensible type system, which allows us to store IP addresses directly, for example). The documentation seems to unclear in quite a few areas, too. In addition, it seems that native (non-ODBC) backends are no longer supported by SAPDB.
We are installing SAP R/3 4.6D in our global company and staying with Oracle database. Why?
All of our test with Oracle -vs- SAP DB showed Oracle as the clear winner performance wise even when SAP R/3 doesn't take advantage of any Database specific features (it is coded to run on just about any database). The SAP DB is still used of course in APO because the live cache uses this (in RAM not disk) to improve performance.
Also all SAP R/3 installations run on SAP DB 'in memory' and only use the database underneath as a bit bucket. (10 tables in SAP might be one huge table in Oracle), thus doing a select for only certain fields is pointless on the Database level because it still pulls the whole row from the disk database before translating it to the SAP DB in memory. POS I say.
Theres an interesting parallel to that one. In Australia, there is the Fosters brand , which only tourists drink, as it's generally accepted to be shiet. There is also the much loved 'crown' brand.
Recently the glassie at my local bar told me that they where the same beer. I didn't believe him, so he did a test. He poured me a crownie and a fosters, and got me to blind compare them. I could not tell the difference. The moral here is that taste is *socially constructed*. That is in non sociology talk, we base our likes and perceptions on the social environment that we are exposed to. It's a wierd thing.
Excuse the Unicode crap in my posts. That's an apostrophe, and slashdot is busted.
SAP is sweet in that it is incredibly easy to control the flow of money and goods around a system, but everything requires customization. This is not OTS software. A typical install takes 2 years, and just handling an upgrade will be the hardest 4-5 days of your life. We did 3.1H to 4.6B in a 3 system (development, quality assurance, production) landscape in 2 weeks, and I think we darned near set a record.
SAP is definately only for really large commodity driven companies. If I were the CTO of a medium size business, I would not use an ERP like SAP. I'd use something much lighter weight. Of course, if I were Amazon, Dell, Anheiser-Busch, Pepsico, etc. I would be using SAP. Nothing else comes close when you need to know what, where, when, and how much.
-WS
An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
I tried sap-db about a week ago. The online rpm's are hopelessly out of sync with the online documentation.
The python that comes with the binary release doesn't even work correctly it seems.
After an hour of adjusting paths, fixing shellscripts and figuring out what else to install I gave up - I'll just stick with Postgres.
Also, the features aren't that impressive. I heard that the "replication manager" is just an dbdump import/export script or something like that (though I hope I'm wrong here)
You didn't ACTUALLY ask for examples to justify that SAP normally runs on Oracle and DB2?
I worked as an SAP Basis admin for about 3 years (got sick of it). I didn't see a single installation (and I saw a lot having worked for Andersen Consulting) that wasn't either DB2, Oracle, or Informix.
Examples...? How about IBM Storage Systems Division, Best Buy, Canadian National Rail, etc, etc...
As for why...
Well, 1. companies have years of trust and investment (systems and training) in other enterprise DB's (like Oracle, DB2, etc).
And 2. I would be hesitant to use an SAP and SAP product. Not because they wouldn't work well together, but because it gives too much control to one company.
Just my $0.02.
-Alex
Bzzt! wrong again... clients don't use oracle for their support (that's what trained dba's are for), or their db. They use them for their apps.
Oracle isn't about db's, only partially about support (to sell you more apps), and most definitely 95% about their application solutions.
Oracle could switch over to postgres is they wished and except for PR issues, it wouldn't significally change their ability to supply solutions to companies that need them.
It's just that for 99.9% of companies out there the apps are just way overkill... must people can get by with postgres or mysql with custom written stuff or downloaded stuff and do just fine. Of course give the open source community a few more years and there will be off the shelf apps that will rivel those of Oracle, I'd be willing to bet.
Toddlers are the stormtroopers of the Lord of Entropy.
The answer to this one is simple:
... I am a minor player on the PostgreSQL project, and as such feel that I am well informed on PostgreSQL's bugs, limitations, development direction, and tradeoffs. As a recently opened commmercial product, SAP DB is still too "black box" for me to trust it. No doubt this will change.
1) SAP DB has only been Open Source for what, a year? Heck, I only heard about it 3 months ago. PostgreSQL has been Open Source for over a decade.
2) SAP DB is a pain to set up. Frankly, I don't have an entire weekend to set up a new RDBMS just to evaluate it. (Unless, of course, I'm being paid to!)
3) SAP DB, unlike PostgreSQL and like MySQL, has the single-company-development problem. PostgreSQL, as an OS project with 25-50 volunteer developers worldwide has survived the death of, so far, 6 companies that supported Postgres or its derivatives. Like MySQL AG, if SAP AG were to go down the tubes, development on SAP DB would halt (though it would still remain available under the GPL).
4) Most importantly
-Josh Berkus
P.S. One volunteer suggested that we consider SAP DB support for OpenOffice.org. Sadly, we had to reject the idea because of the complexity and difficulty of administration for SAP-DB. If someone from SAP is reading this, and you disagree, please join the dev@dba.openoffice.org mailing list and make yourself heard.
I evaluated several databases over the weekend for a project I'm working on. I needed the DB to run on linux, I needed to access it via JDBC, and it needs to support arbitrarily large BLOBs. I tried MySQL, Postgres, MS SQL, DB2 and SAPDB.
I'm sure it was just something I was doing wrong, but I was getting data corruption with MySQL on anything larger than 500k. Postgres' JDBC drivers don't stream things, they have to load the entire byte stream into memory -- so it failed utterly. It also used about 10x the memory it needed to load the file, and didn't release it even after garbage collection -- so poo on it.
I tried MS SQL, and it worked flawlessly, but like I said, I need the database to run on Linux.
I installed SAPDB on a Red Hat box, spent a few hours figuring out the management commands, and was successfully loading/retrieving binaries of up to 100MB with no problem. Very fast throughput, all things considered, and the commands aren't too difficult once you figure out what they're supposed to freaking BE. I guess it helps to have a working understanding of Oracle 7 administration, because the concepts are pretty much the same, just with different names.
So, even though I'm kind of sad that the codebase is poorly set up and it won't run on *BSD or MacOS X, I'll be using SAPDB for this project because it meets my needs quite handily.
I think that if a community could be arranged around SAPDB to clean up/standardize its codebase, it would be a Good Thing and I would like to get involved. But it's going to take somebody going through that spaghetti and figuring out what's what.
"There is no night so forlorn, no mood so bleak, that it cannot be infused with pleasure by tender meat..." - R.W. Apple
Now, here's the first unbiased response I've seen for SAP-DB vs. PostgreSQL.
,have on performance for all three of these db's? What about including other DB's, such as SAP-DB, Interbase/Firebird, DB/2, Informix, and Sybase (all available for Linux, multiple Unices, and Windows?)
It makes me want to consider SAP-DB, since you've benchmarked it against 150+ users. I saw a MySQL vs. PostgreSQL vs Oracle (8i or 9i, I can't remember) benchmark on the same uniprocessor equipment. It showed PostgreSQL killing MySQL and Oracle from 5 to 100 users. 0-5 had MySQL shining, while 5-100 had PostgreSQL shining. They showed nothing past 100 simultaneous.
However, I could find little beyond what you just told me. For example, what effect do SMP, memory, RAID, SCSI vs. other technologies, tuning, number of users past 100/500/1000/5000, different query complexities, and the like
I certainly don't want to base my thoughts on one user's experience, but to see that in the real world, SAP-DB does indeed scale better, does picque my interest.
I do have a few questions, for anybody out there, though:
What kind of hardware?
What OS?
What were the results at different numbers of users?
I'd love to see somebody, anybody, have a free standardized benchmarking web site out there, that is unbiased and that checks multiple configs. It would be nice to do have it done "in the lab," as well as have end users use the lab's testing tools/configs and be able to submit their benchmarks, complete with memory, CPU, disk, configs, other system info, etc., as a comparison.
It could even be a site that lets users help other users to tune their OS, apps, drivers, and db's.
Would anyone do this?
Granted, I may have missed something, but if it's too difficult to find after scanning through a few search results and what appear to be relevant links from the home page, I generally go somewhere else. That kind of (missing) organization does not speak well of the product in question.
I had an argument...with the person here at the university that teaches OS design. I wonder when I'll learn --Linus
If there was a DBD for the Ruby DBI driver, I'd give it a go. I haven't seen a lot of comparisons between it and PostgreSQL in terms of performance or reliability.
PostgreSQL is really pretty good for the price, though, and it has been mostly dependable, quick enough, and easy to administer. They have been improving it by leaps and bounds, not tiny increments, and most of the time that is nice.
1) Their site has a bunch of advertising hype for how wonderful the DBMS is but almost zero real content;
2) It is from and controlled by SAP. I have worked with these people in the past and I deeply distrust their code and processes;
3) Life is short. I have no time for YADB that has no compelling advantages that I can see;
4) I believe in the importance of things like replication and objrect-relational features that SAP puts down as irrelevant.
I tried to install SAPDB on my windows box a couple weeks ago and it was just... well... really hard. I never could find any decent documentation (pdf's are never decent IMHO), and I gave up after finding no installer or anything that seemed to resemble a registry merge file or anything stating what the default dba password is. I gave up for lack of incentive. I don't actually need it; see below.
:-)
I think the problem is that there are other well-known DBMS's out there that are just as cheap (free), open source, and have the needed features, and are also easier to install and better documented. For me it's Postgres on Linux. It does what I need and it's really easy to install and admin and quite well documented. For others it's MySQL for the same reasons I'm sure. Then there's T-bird, I'm sure somebody must be using it
From a development standpoint, I hear the source is a freakin mess. Maybe it's just me but that seems like the status quo for closed software. I remember Mozilla being a big stinky mess when it first popped out of Netscape too. Maybe that's part of the reason they open sourced it; couldn't afford enough programmers to maintain the spaghetti code anymore. And let's not forget how long it took to clean Mozilla up and make it viable again. Hopefully SAP won't be quite as bad.
If they can get a few developers to latch onto it and get the code cleaned up a bit, and get some better documentation, and some better install mechanisms, then I'm sure it could have a chance.