Sybase Releases Free Enterprise Database on Linux 386
Tassach writes "Sybase announced today that they are releasing a free (as in beer) version of their flagship database for Linux. The free version is limited to 1 CPU, 2GB of RAM, and 5GB of data, which is more than adequate for all but the most demanding applications. This release provides a very attractive alternative to Microsoft SQL Server, and gives developers and DBAs an extremely powerful argument to use against the adoption of Microsoft-based solutions. For those who are unfamiliar with the product, Microsoft's version of Transact-SQL is nearly identical to Sybases's. This high degree of similarity makes porting applications between the two platforms very easy. Sybase is supported by numerous open-source projects, including sqsh (SQL shell), FreeTDS, and SybPerl."
Re:Ah, more free shit. (Score:2, Informative)
Re:Smart move (Score:2, Informative)
They stopped that and are coming up with this now... At least interesting as an alternative to MSDE which is also limited concerning concurrent connections and size.
Only internal business use (Score:5, Informative)
WARNING: not safe for work (Score:1, Informative)
PARENT is a TROLL! (Score:2, Informative)
Who modded this up?
Re:Smart move (Score:5, Informative)
And Oracle is already the 'Oracle' of linux, it was among the first enterprise DBs available, and lots of Oracle internal sites already run on RHEL.
This move by Sybase is mostly just a tease- you would probably need to buy a license if you need anything that requires Sybase's capabilities.
Even Oracle will mail you a full devkit, with the enterprise DB+all the goodies. However I cant imagine anyone using this in Production boxes.
Sybase has a nice niche among banks and some large datawarehouse-type environments. It is an order of magnitude easier if you're from an Oracle-Db2 background.
MOD PARENT DOWN - NOT WORK SAFE LINK. (Score:3, Informative)
Good news (Score:3, Informative)
Re:Better than PostgreSQL? (Score:5, Informative)
You are missing the point. It makes it easy to convert from Microsoft SQL. Imagine thousands of independent software developers with an alternative to MSQL within easy reach. Their entire solution cost is now reduced, and they will sell better. At least the ones that take the chance.
I'm not sure so many independent software developers use MS SQL anyway, but there has for a while been a light version of MS SQL, MSDE, available for a free download [asp.net], with most of the features of MS SQL but with similar restrictions to this Sybase offering.
But this appears to be targeted mostly at Linux developers so it's competition for PostgreSQL and the Abomination That Shall Not Be Named.
Re:Better than PostgreSQL? (Score:2, Informative)
Postgres doesn't even come into the equation
microsoft would likely prefer you forget... (Score:5, Informative)
Re:Better than PostgreSQL? (Score:5, Informative)
If you're expecting to take a recent Microsoft database script and run it on Sybase without any problems you're dreaming.
Re:Better than PostgreSQL? (Score:5, Informative)
I hope postgresql performs better now.
Moreover, this is not the first time Sybase makes this offer : Sybase for Linux 11.0.3 was free to use on Linux, with no limitation.
I personnaly used it for my Web shop, as this database is not only fast and secure, but also quite easy to program with ( especially compared to Oracle ).
The only drawback of Sybase is the lack of standard administration Tools. You have to use a product like (overpriced and windows-only) Emabarcadero DBArtisan.
Re:Front End...? (Score:4, Informative)
(For those that haven't caught on, Sybase is a competitor to such products as Oracle, DB2, PostgreSQL etc, and is not compareable to silly little toys such as MS Access)
Re:Similar move from Oracle/IBM will follow very s (Score:4, Informative)
As for Open-sourcing the DB engine, you can keep dreaming though..
Re:Better than PostgreSQL? (Score:5, Informative)
We hae several POS and ERP applications on our campus that have been locked into MS-SQL or SQLAnywhere (bleh!). Yesterday after downloading sybase and getting it installed I was able to transfer and fire up test instances of 7 of the 9 applications without ever needing to ask the company that wrote it to make any changes for me.
Would I prefer these apps be FOSS... YES! We are slowly writing new versions as we get time... but it takes time and this gives us a way to save money now.
DB2 UDB Personal Developer Edition (Score:3, Informative)
I fact, I've been waiting for free-download Oracle/DB2 "personal database" or some limited opensource release of Oracle/DB2 for a while.
So, err, maybe you wanted this?
DB2 UDB Personal Developer Edition [ibm.com]
Cheers,
Toby Haynes
Re:Better than PostgreSQL? (Score:5, Informative)
This worked out so well, precisely because MSDE was free to redistribute and easy to migrate to MS SQL, that MSDE is now included with thousands of applications. And remember -- if you ever outgrow its limitations, it can be directly moved over to MS SQL.
Coincidentally, MS SQL (which, as everyone is ecstatic to be able to point out, used to be Sybase) continues to gain market share. Sybase (see above) does not.
The big three at the moment in terms of market share [technewsworld.com] are Oracle, IBM, and Microsoft. Oracle is #1 but is slowly losing market share to IBM and MS. Sybase is #4 -- but that #4 translates to 3.6%. And it's static -- they're not gaining any of that market share being lost by Oracle.
Re:Only internal business use (Score:5, Informative)
This same sort of restriction is fairly common in the "enterprise software" space. All it really means is that you can't bundle the free version invisibly into your application (which is OK), and you can't resell "used software" (which kinda sucks).
This means that your customers have to get their own (free) copy from the primary vendor. Oracle, Sybase, MS, etc., all do this, because they want to have a direct relationship with all of their customers so that they can support them.
The "no reselling" part of the deal is a bummer, though. For example, I worked at a startup that bought a $180K Oracle license, and when the company went the way of most startups (sigh), this provision meant that the Oracle license couldn't be sold to get back some money for the investors. Of course, vendors never approve reselling the license, because they'd rather sell a new license to the buyer.
Express Edition (Score:2, Informative)
Re:Dual core chips ? (Score:5, Informative)
Michael
Re:Too risky... (Score:1, Informative)
There are a few advantages that the expensive heavy hitters have over their Free counterparts. (I'm not a DB developer, but I'll do my best to illustrate...) Three of the most commonly cited are:
1) Transaction support: when complex operations are modeled as a single "transaction", the data tables are locked in such a way that either all of the data get updated, or none of them do. Prevents data corruption if the system should go down while an complex operation is in progress, because the individual operations within a transaction are completed together or not at all.
2) Replication: multiple databases, on-line or off-line, copying data to each other in real time or at periodic intervals. This allows you to load-balance between a number of database servers and/or maintain a hot spare backup, because you can keep them synchronized at intervals of whatever granularity is needed.
3) Scaling: the big boys often scale better to run on 16-way+ systems with huge terabyte-size datasets. Oracle, for example, routinely deploys onto machines like that. This is probably the most important differentiator.
As far as transactions and replication go, the Free alternatives often have support for them, but it's usually not as robust as that of the expensive ones. The thing is, most companies who buy these $50,000 databases don't really require them and would be fine with, for example, Postgres instead. Well, that's my $.02
-Dave
Re:Better than PostgreSQL? (Score:3, Informative)
Postgresql is still not quite as fast (in my experience) as MySQL, but the comparison is not fair due to MySQL's lack of features.
I've read some benchmarks comparing oracle to postgresql and pgsql comes out close on most tests and beats oracle on a few. The benchmarks are gone, sadly, due to Oracle's "no benchmarking" clause in their EULA.
Re:Better than PostgreSQL? (Score:5, Informative)
Just for the record, Oracle has always been available for free download in complete, unrestricted form. So for evaluation, people would just download and install it. Now, running production on unsupported and therefore unpatched Oracle instance - is the whole other matter.
Re:Better than PostgreSQL? (Score:5, Informative)
1) Strip out the SET statements referencing ANSI_NULLS
2) Convert Niladic function names (e.g. CURRENT_USER -> USER)
3) Add Set DATE_FORMAT mdy, because the default in Sybase is ymd.
4) Find strings unicode strings and strip off the N'
5) Make sure all JOINS have their ON clause directly after themselves...MS lets you nest them, which I think makes for a better looking statement
6) Make sure the retarded VB developer didn't declare all his variables "@foo AS Integer", illegal syntax with illegal datatypes that MS SQL Server would fix for you.
7) Fix the IDENTITY syntax (basically, removing the step and start-at values) on CREATE TABLE
8) Remove ADD CONSTRAINTS that are really defaults or primary keys, and move them to ALTER TABLE ADD DEFAULTs
9) UNION ALL statements don't have column names during parsing in Sybase, so you can't do ORDER BY id_name, you have to do ORDER BY column_number. I think this is cleaner anyway, and it lets you change the name of the column more easily (can be important with ADO.NET, when mapping datasets)
10) Table variables don't work so hot in Sybase. I just create temp tables with hashmark names, same idea with a little less performance.
And I think that's it. Not that bad, really, and the script you end up with is comaptible with both MS SQL Server AND Sybase! I just finished a program that (unlike MS SQL Server) doesn't add crap like this to its scripts, thus making it trivial for us to port our apps back and forth.
My experience (Score:2, Informative)
-It is very sensitive about the OS configuration, only runs well on supported platforms (RH Enterprise, Suse, etc). If it finds anything not conforming its requirements, displays the annoying "Proccess is infected with 11" (meaning Segmentation faults).
-CLI client totally crippled: the user has to type go after each command, no line-editing, no history, poor output formatting. Fortunately, sqsh, mentioned on parent, is a nice replacement.
-ODBC driver for Unix/Linux not available for free.
-Native C/C++ API, ctlibrary, implements a finite state machine, enforcing the programmer to ask twice if the result set is done.
-Conversion to Transact-SQL data types from MySQL or Postgres is very tricky, because it doesn't have sub-integer types (smallint, mediumint, etc). Also, it uses different escape characters: eg. '' (two apostrophes) to represent one apostrophe inside a delimited string.
From what I saw, it's not worth it migrating from MySQL or Postgres. If the migration is from MS SQL, though, it is a very interesting move, since the compatibility among the two is is still good.
Re:Better than PostgreSQL? (Score:3, Informative)
To reminisce a bit, I first started using Sybase when they were at version 4.8 and I was starting work with one of the fledgling genome database projects. They practically gave away licenses to such groups (80%) discount. They were known then, as now as a business-oriented RDBMS. They failed to continue in this vein, and the support costs started rising faster than our budgets. The Linux version cost less, and the annual maintenance was far less.
In the meantime Oracle was very agressive in the higher education market, and still is. These two companies have a lot to offer, even if they aren't Open Source.
A reason why a small company might want to go with a free version of a commercial enterprise level RDBMS might be found in the disaster recover features that each has. I am far more familiar with Sybase internals, having taken a course that told me more than I every wanted to know about how it keeps track of data. And I have also recovered data that otherwise might have been lost forever. Oracle's features are just as good, but I have not had the "pleasure" of testing them when the pucker factor is maxed out.
Re:Dual core chips ? (Score:1, Informative)
Re:My experience (Score:4, Informative)
ASE 12.5 runs just fine on plenty of Linux distros. We run it in production on Red Hat 7.2. It will NOT give "Infected with 11" errors simply because you're on a different (non-supported) distro; it gives you those errors if libraries are missing/not the right version.
Are you on drugs? Not only are most of MySQL's datatypes against the SQL standard, but ASE supports:
int (-2,147,483,648 and 2,147,483,647), inclusive.
smallint (-32,768 and 32,767), inclusive.
tinyint (0 and 255), inclusive
Transact-SQL provides the smallint, int, numeric, and decimal SQL92 exact numeric datatypes. The tinyint type is a Transact-SQL extension.
Blame MySQL and PostgreSQL for not correctly implementing the ANSI SQL STANDARD SPECIFICATION for escaping characters. This is the same as if you wanted to migrate to Oracle or Microsoft SQL Server, or any other product that correctly interprets this ANS SQL standard feature.
Re:Better than PostgreSQL? (Score:3, Informative)
Well, for single user experiences, MySQL probably is faster. PostgreSQL tends to scale much, much better than MySQL. In other words, if you have a DB where you expect to have lots of active users with a diverse set of concurrent activity (selects, updates, inserts, deletes), PostgreSQL traditionally zooms way ahead of MySQL. It's a question of how you expect to use your database.
Basically, it's a myth that MySQL is faster than PostgreSQL. A myth, I might add, which MySQL themselves help propagate. Simple fact is, MySQL probably is faster in the developer's eyes. Once it's deployed, PostgreSQL is more than likely the faster of the two. Granted, there are some corner cases where MySQL is still faster than PostgreSQL, but those are the exceptions and NOT the rule.
Re:Dual core chips ? (Score:3, Informative)
A multi-threaded app will only run on one CPU at a time, at least in most cases. What "engines" mean here is one or more engines that access the same set of shared memory. You usually configure engines based on the number of CPUs that are available, and each engine is multi-threaded.
Michael
Sybase vs. everything else (Score:2, Informative)
If you spend enough time with any product, you'll find little quirks that drive you insane. A couple off the top of my head for Sybase:
1. Chained & Unchained modes. Sybase supports a SQL 92-compliant transactional mode, and a hacked up "autocommit" mode, with optional transactional support. The hacked up mode is default, and the SQL 92-compliant mode has some severe limitations.
2. No DDL inside transactions. So what? That includes creating temporary tables. You want to call a stored proc from within a transaction? It better not touch the tempdb.
3. Table-level locking by default. This one just blows me away; Sybase didn't support row-level locking until somwhere around version 11, and table-level locking is still the default. If you're DBAs aren't on top of things, you'll have deadlocks all over the place. They still haven't enabled it for the system tables, so make doubly sure you don't do any long-running code that touches them, or you'll have deadlocks for sure.
If you think I'm bullshitting, check out a quasi-white paper (grey paper?) I posted a while ago to the iBATIS support forms - it's got a lot more detail about some of the problems, and some Java-based work-arounds: http://sourceforge.net/forum/message.php?msg_id=2
So, would I choose Sybase over the competition? Maybe about 3 years ago, before other DBs got decent replication support - that was one of their claims to fame. Performance doesn't seem to be that big of an issue - hardware is often cheaper than engineering around db limitations.
If I had to rank what I've used in order of preference, it would be:
1. Postgres
Maybe because I've only used it for about 8 months, but Postgres has not *yet* disappointed me. Transaction support has been perfect, and no major performance problems. Then again, I haven't done any stored proc work, so maybe I should give it time.
2. MS SQL Server
I cringe to say this, but MS's developer tools push their DB up on my list. Query Analyzer has excellent "show plan" support, and their management tools are great. I'm generally pretty happy, although their JDBC driver could use some work, and DTS was pretty weak last time I used it.
3. Oracle
Cost knocks this one down a bit, and I'm a bit rusty as well. Last time I ran Oracle on Linux was shortly after it was released, and their install procedure was a *bitch*. However, nifty features like data partitioning were definitly worth the extra money.
4. Sybase
See above. It's decent, now it's free for small projects, but I'm annoyed.
5. Informix
I'm out of date on Informix, but I have bad memories, mostly of constantly overfilling the transaction logs, then having the DB stop working with an unclear error message. I understand the need for a DBA to monitor this on a production environment, but it was a pain in the ass in development.
6. MySql
OK, I'm going to get bashed on this one. The old limitations left a sour taste in my mouth, and too many critical features are brand new. I will reconsider, though, after it has a little more time to mature.
Uh... (Score:3, Informative)
Re:Dual core chips ? (Score:1, Informative)
Re:Better than PostgreSQL? (Score:3, Informative)
Exactly. Like another poster said, they are doing this so people get familiar with their database, then decide to move to it later.
By the way,
Did some consulting for a company. It's a 30 people company. They mssql database is 7 gig now.
Any non-trivial database job will involve an enormous amount of data.
Alternative? How about SQL Server Express? (Score:3, Informative)
It's based on the core SQL Server 2005 Database Engine, including an advanced query optimizer and the new snapshot isolation level. It also supports the complete SQL Server programming model including T-SQL and CLR integration.
http://lab.msdn.microsoft.com/express/sql/
Did I mention that it's free to use and redistribute?
For the record, Oracle's Speech and Beer (Score:5, Informative)
Oracle's Free (as in speech) software [oracle.com]
If you saw Chuck Rozwat's LinuxWorld keynote (2 years ago, I think) you'll know that Oracle uses Linux PCs for its base development. Not just for "back-office apps", mind you, I mean a gigantic development environment with THOUSANDS of Linux PCs. The resulting inevitable patches to coreutils, etc, are all on the oss.oracle.com site above, as are Oracle's (GPLed) Clustered Filesystem.
Re:Sybase vs. everything else (Score:2, Informative)
Not quite. Page-level locking was always the default, where a page is 2k bytes (by default; up to 16k in current ASE.) This was never a really big problem for Sybase performance, except for applications with small very-active tables, but it always sent Oracle programmers into fits. So starting with ASE 11.x , alternative locking schemes are provided, including datapages-only locking (index pages are not locked) and row-level locking. Promotion of a page lock to the full table can happen if a significant fraction of the table is being altered in a transaction, however it's not very common.
Current versions of ASE allow the default locking scheme to be set on a database level, and the locking scheme on each table can be set independently.
Re:Dual core chips ? (Score:3, Informative)
Re:Better than PostgreSQL? (Score:1, Informative)
No, it's not. It's a lite version of Sybase's flagship SQL database (the one that was licensed to Microsoft way back, and which they kept as SQL Server).
Why did you think Sybase decided to release a free version anyway ? Corporations do nothing unless they think they will benefit from it; therefore, they tought they would benefit from releasing this version free. And the most obvious benefit is the one explained above.
While Sybase isn't doing it purely for magnanimous reasons, it's primarily to get Linux users to try it. It does have limits (5Gb size limit on a database, and only one seat), but it's a good way to try it without committing the funds to purchase it. And as I said, it's not a demo. It's a lite version with not all of the extra bells and whistles.
Re:This is not new news (Score:3, Informative)
Re:Better than PostgreSQL? (Score:4, Informative)
For a robust RDBMS that is safeguarding key corporate data, that's a pittance. If you don't need the level of robustness that most commercial RDBMS products provide then you don't need a commercial RDBMS of any sort.
Either your data is worth paying for your RDBMS, or you don't need to bother with payware to begin with.
Re:Better than PostgreSQL? (Score:3, Informative)
Oracle SE isn't crippled. Sybase is.
With Oracle SE I am not limited to rediculously small datasets, single cpu systems or an amount of RAM currently common on desktops and workstations.
The same is true for postgres and mysql. That is why they are relevant in this discussion.