Page 1 of 2 12 LastLast
Results 1 to 15 of 19
  1. #1
    Join Date
    Jul 2006
    Location
    Tokyo, Japan
    Posts
    5

    Arrow Yet another "What server database?" Thread

    I am sure you are expecting my first sentence to be;
    "A large company I am working for has asked me to design a database for 1,000,000 of their products".
    But I am going to have to disappoint you.
    The truth is, I know nothing about server databases, and I came here to learn. Though, I beleive I do have some very valid concerns and questions.

    I am asking which server database so I can begin learning a specific database, if the need is for 2, so be it. I have no rushed deadline, and I am always dead set on completing anything that I start. This won't be something I forget about in a week!

    I need a database with a LOT of potential.

    I plan after figuring out what database(s) to learn, to go to the bookstore/ebookstore. Then I will end up purchasing half the books they have on that particular subject. Yet, all for good reasons.

    1) My first concern is reliability. I'd like a stable platform, I don't care if it takes 3 years to learn how to program in that particular database. I want to be 100% confident before I even start a project.
    To me I'd rather buy a bridge from someone who spent 50 years learning/studying how to build one and is still continuing to learn, than from someone who built 50 bridges learning how to not make them collapse apon themselves within a month. Though practice is one thing, obvious is another.

    2) My second concern is speed. I'd like to know everything is functioning quickly, that there is no wasted functions or programming that obviously has no use. Some wasted functions end up stealing massive amounts of time, such in the case bad programming. I really just don't want to ask myself "why is this even here??" all the time.

    3) My third concern will be scalability. I want a database that will perform well whether I have a 10mb database, or 100gb database. If I have to break these databases up at some point to run each on a seperate server, that is fine. As long as they can cooperate and communicate as needed.
    I'd like the foundation as strong as steel, so what may look like a 2 story village library one day, can have the Eiffel Tower sitting ontop of it the next.

    4) My last concern is cost. I'd like to know I have the ability to make something so well, that I wouldn't mind reading by an oil lamp at night for a few years to save a few bucks on electricity just to save up for a good solid database. While I won't be using this knowledge and ability for any personal profit, I would like to just get best suited for reliability, speed, and scaling. Opensource of course is very welcoming.


    With my concerns down, I'd just like to state linux would be the prime candidate. I am not very fond of windows for anything reliable. If it has to be unix, so be it.
    I am fully capable of building my own systems and networks from scratch for the requirements of a certain database structure. If I don't know it, I'll learn it.

    I know a bit of programming, and I am consistantly learning more everyday.
    I am also learning Ruby, C++, C#, for both web/app use.

    If I don't have the skills yet to learn appropriate database, I will learn whatever is needed.

    I came here to just ask which do I learn first? I know not all databases will be suited for everything, but I will gladly take the most flexible or the most scalable as long as it's quick and reliable.

    Easy is not in my vocabulary.

    Thank You!

  2. #2
    Join Date
    Jun 2004
    Location
    Arizona, USA
    Posts
    1,848
    Given your parameters, I can think of three candidates off the top of my head; Oracle, DB2 and PostgreSQL. All three run under Linux, Windows, or other platforms.

    SQL Server would have been a third candidate, but it only runs on Windows platforms.
    I've seen a lot of issues reported regarding MySQL in heavy load situations not slowing down 'gracefully.' Plus, it's more feature limited than the others.

    Oracle is certainly the leader in the field. Unless you get the free, personal version (which has it's limits,) it's licensing fees are pretty steep, though. DB2 is similar to Oracle in capacity and licensing. PostgreSQL is Open Source, is reliable, and is feature laden. It also is quite scaleable, and has good performance.

    Here's an article that was written a couple of years ago. While it's somewhat dated in the features that are available, it is useful. MySQL has aded more features, but it's still not as feature rich as PostgreSQL; PostgreSQL has improved in speed substancially, but, it's still not as fast as MySQL when MySQL isn't using features like constraints/relational integrity.
    Last edited by loquin; 08-03-06 at 12:52.
    Lou
    使大吃一惊
    "Lisa, in this house, we obey the laws of thermodynamics!" - Homer Simpson
    "I have my standards. They may be low, but I have them!" - Bette Middler
    "It's a book about a Spanish guy named Manual. You should read it." - Dilbert


  3. #3
    Join Date
    Sep 2002
    Location
    Sydney, Australia
    Posts
    255
    FrostCS

    A man after my own heart. Since your criteria is specific, the answer is definite.

    Re (1) and (3) Oracle and MicroShaft do not comply. As you know, MicroShaft bridges collapse with every major release, and they start from scrtach each time (which means they do not learn from their mistakes).

    Re (2) and (3), Sybase is the only thing I can recommend. Note, scalability means being able to switch from an intel box to a (eg) Sun Solaris server, and actually obtain the expected gains. MicroShaft is only available on the MS platform.

    Re (4) Sybase is the same cost as NecroShaft on the Intel paltform, and runs on Linux as well.

    Oracle uses resources TIMES one to two orders of magnitude as Sybase, to do the same job on the same hardware. The published "benchmarks" are heavily configured to show the product in the best light; none do a comparison on the same actual equipment. I have done a few, but they are padi for and cannot be published. The ongoing admin (labor) for Oracle is also much greater than for Sybase.

    The "freeware" databases are worth exactly what you pay for them. Some of them do not even have transactions !

    Cheers
    Derek Asirvadem
    Senior Sybase DBA/Information Architect derekATsoftwaregemsDOTcomDOTau
    Anything worth doing is worth doing Right The First Time
    Spend your money on standards-compliant development or spend 10 times more fixing it

  4. #4
    Join Date
    Jun 2004
    Location
    Arizona, USA
    Posts
    1,848
    You are correct; Sybase is another potential solution.
    Quote Originally Posted by DerekA
    Re (1) and (3) Oracle and MicroShaft do not comply.
    Actually, BOTH Oracle and SQL Server DO comply with 1 and 3. And, they comply well. Oracle IS stable and reliable. As is SQL Server. And, BOTH scale to hundreds of terrabytes in size. SQL Server only runs on Windows, however, so that eliminates it from the running.
    Quote Originally Posted by DerekA
    The "freeware" databases are worth exactly what you pay for them.
    One-sentance, sweeping statements like this one are usually incomplete, and often incorrect.
    Quote Originally Posted by DerekA
    Some of them do not even have transactions !
    Which has nothing to do with the potential solution I suggested. PostgreSQL is a very complete database implementation. If you bother to take a look at it, or better yet, actually evaluate it, you would see that it is a stable, scaleable, full-featured database solution.
    Last edited by loquin; 08-07-06 at 13:15.
    Lou
    使大吃一惊
    "Lisa, in this house, we obey the laws of thermodynamics!" - Homer Simpson
    "I have my standards. They may be low, but I have them!" - Bette Middler
    "It's a book about a Spanish guy named Manual. You should read it." - Dilbert


  5. #5
    Join Date
    Jul 2006
    Location
    Tokyo, Japan
    Posts
    5
    I really can't even begin to explain how thankful I am for the help.
    I've done a bit of research in the past week or so, and also done some more self educating on a bit of programming.
    I will start with my self lessons.. I am beginning to like ruby a lot more and more as I use it.. So I figured I should grab a database that will work well with that.

    Oracle-
    I've researched a bit of forums, and read through some comparisons and basically I find that this is a very popular enterprize level database choice, but I don't think it's for me. There are complaints and some things that could obviously be better (but what's perfect anyway?), I just can't really justify the price so much if it still has it's flaws. Yet I have borrowed a friends book on Oracle to see if I am missing anything important, so will give it a read.

    Sybase-
    I keep hearing such great things about Sybase. But I can't for the life of me, find out whether there is actually a "working" adapter for ruby, or RoR. I'd like to learn a bit more about Sybase, but what will I really need to spend to learn it and to get a basic server running with it? I took a look at sybase.com 's pricing and I wanted to cry.. Maybe I am looking at the wrong thing?.. I hope so. The Dev. kit is $1,000 .. but does that run as a server? The other's have a 20,000-30,000 cpu fee...

    PostgreSQL-
    This is one of the databases that just wouldn't keep itself from popping up all over on my research, it's very popular it seems, just people don't talk too much about it on the forums. I was actually recommended Postgre by a few of my IT friends, and it seems like it has a pretty good following. Heard about some nightmare spring cleaning that has to be done occationally, but other then that I only hear positive things. Maybe this will be it..

    Sqlite-
    I wish I could get a better grasp for this... to me it seems more like a web development database, it's very popular with the new Ruby on Rails crowd, but is this just for light database work? It seems Postgre is more "powerful" (forgive my words if you will) when it comes to scaling...

    SQL Server-
    I'm sorry, but I just can't get myself to bring myself to this level, my peers will drown me in the riverbed if I tell them I have a microsoft server, no offence to anyone. But I can't even pronouce it without choking... Micro *cough* *gag* *cough*

    The getting the feet wet factor seems to be better on Oracle and Postgre, basically up to a 4gb database is practically free on oracle, and regular postgre is opensource anyways. They both use the new SQL standards also.. unless I am missing something and Sybase does indeed have a "newbie" database program at relatively cheap.

    PostgreSQL seems to be entertaining... lots of different flavors of it too.. hmm

  6. #6
    Join Date
    Jun 2004
    Location
    Arizona, USA
    Posts
    1,848
    If you decide to give PostgreSQL a try, I would recommend the second edition of PostgreSQL, by Douglas & Douglas (Sams).

    When configuring Postgres, be sure to enable the autovacuum feature, and periodically run a full vacuum to "defrag" the database and update the statistics.

    Of all database implementations, PostgreSQL is probably the most ANSI SQL compliant.

    It's my understanding that SQLite is really a single-machine datafile implementation, with drivers/code to integrate it with applications, rather than as a general-purpose database implementation. It has limited features, but is fast, with low overhead.
    Last edited by loquin; 08-08-06 at 12:13.
    Lou
    使大吃一惊
    "Lisa, in this house, we obey the laws of thermodynamics!" - Homer Simpson
    "I have my standards. They may be low, but I have them!" - Bette Middler
    "It's a book about a Spanish guy named Manual. You should read it." - Dilbert


  7. #7
    Join Date
    Sep 2002
    Location
    Sydney, Australia
    Posts
    255

    Scaleability

    Quote Originally Posted by loquin
    Actually, BOTH Oracle and SQL Server DO comply with 1 and 3. And, they comply well. Oracle IS stable and reliable. As is SQL Server. And, BOTH scale to hundreds of terrabytes in size. SQL Server only runs on Windows, however, so that eliminates it from the running.
    First off, I was replying FrostCS, and not your post.

    Evidently your definition of SCALING differs from mine. Anyone can put terabytes of data on an Intel box or a postage stamp. My definition of scaling means the response time grows linearly with increasing load. MicroShift grows exponentially after about 100 user connections.

    Oracle does not have a "server" in the true sense, it uses the OS to do its "multithreading". Eg if you have 4 cpus, you give Sybase 4 engines, you have 4 unix processes running, each handling 100 users connections. On Oracle, you have 100 unix processes for 100 user connections. Scales like a fish, and you need massive amount s of memory. Oracular response time grows exponentially after about 30 connections. Then you've got the tablespaces to manage (keeps dbas in work!).
    Derek Asirvadem
    Senior Sybase DBA/Information Architect derekATsoftwaregemsDOTcomDOTau
    Anything worth doing is worth doing Right The First Time
    Spend your money on standards-compliant development or spend 10 times more fixing it

  8. #8
    Join Date
    Sep 2002
    Location
    Sydney, Australia
    Posts
    255
    Quote Originally Posted by FrostCS
    Oracle-
    ... if it still has it's flaws.
    It doesn't have flaws, it has thousands of barnacles. The real world problem is (in addition to massive hardware resource requirement), it requires massive manual labour to keep it running. Hard labour is Lousianna State Penitentiary.

    Sybase-
    But I can't for the life of me, find out whether there is actually a "working" adapter for ruby, or RoR.
    Post in another forum.
    Look into perl and the DB Handle to Sybase, it should give you some direction.
    I'd like to learn a bit more about Sybase, but what will I really need to spend to learn it and to get a basic server running with it? I took a look at sybase.com 's pricing and I wanted to cry.. Maybe I am looking at the wrong thing?.. I hope so. The Dev. kit is $1,000 .. but does that run as a server?
    It ONLY runs as a server, from Intels to mega Suns (mainframe contenders). $1,000 will get you a developer (single server) licence and get you fully started. No extra bucks for each feature (like Barnacle).

    SQL Server-
    I'm sorry, but I just can't get myself to bring myself to this level, my peers will drown me in the riverbed if I tell them I have a microsoft server, no offence to anyone. But I can't even pronouce it without choking... Micro *cough* *gag* *cough*
    Buy you a beer next time I'm stateside. Some of us know how to stay away from guaranteed frustration and really really good reasons for doing the wrong thing.
    Last edited by DerekA; 08-12-06 at 05:22.
    Derek Asirvadem
    Senior Sybase DBA/Information Architect derekATsoftwaregemsDOTcomDOTau
    Anything worth doing is worth doing Right The First Time
    Spend your money on standards-compliant development or spend 10 times more fixing it

  9. #9
    Join Date
    Aug 2006
    Location
    Tornado Alley of Texas
    Posts
    45

    Smile

    Kinda snippy aren't you Derek? Having a bad day? Loquin was only giving his advice and while it may differ from yours everyone has a right to their own opion, this is a place to exchange ideas thoughts and just to brainstorm and even though loquin didn't necessarily agree with you, he had some good points. And he was cordial not, well, there's no other way to say it, rude. I 'm sure you're just having a bad day or something, we all do...please don't bite my head off if my opinion differs from yours someday.


    One can never stop learning....Bill Loy
    I only have a 8 gigabyte brain, I'm bound to lose some information as I grow more senile...Deborah Anderson

  10. #10
    Join Date
    Jun 2004
    Location
    Arizona, USA
    Posts
    1,848
    Quote Originally Posted by DerekA
    First off, I was replying FrostCS, and not your post.

    Evidently your definition of SCALING differs from mine. Anyone can put terabytes of data on an Intel box or a postage stamp. My definition of scaling means the response time grows linearly with increasing load. MicroShift grows exponentially after about 100 user connections.

    Oracle does not have a "server" in the true sense, it uses the OS to do its "multithreading". Eg if you have 4 cpus, you give Sybase 4 engines, you have 4 unix processes running, each handling 100 users connections. On Oracle, you have 100 unix processes for 100 user connections. Scales like a fish, and you need massive amount s of memory. Oracular response time grows exponentially after about 30 connections. Then you've got the tablespaces to manage (keeps dbas in work!).

    My reply to you and to FrostCS re scalability was in direct reply to FrostCS's definition... Database size.
    3) My third concern will be scalability. I want a database that will perform well whether I have a 10mb database, or 100gb database. If I have to break these databases up at some point to run each on a seperate server, that is fine. As long as they can cooperate and communicate as needed.
    Lou
    使大吃一惊
    "Lisa, in this house, we obey the laws of thermodynamics!" - Homer Simpson
    "I have my standards. They may be low, but I have them!" - Bette Middler
    "It's a book about a Spanish guy named Manual. You should read it." - Dilbert


  11. #11
    Join Date
    Dec 2003
    Location
    Canada
    Posts
    710
    If I might weigh in I'd like to say that I have been an Oracle and a Sybase DBA at different times and I find that I prefer Sybase. It's a damned elegant piece of work.

    Only short fall is you are not going to find a great deal of Sybase installations out there when you look down the career road. Oracle is still the leader. However new technologies may cut into oracle deep. Keep an eye on SAP and IBM.

    PostgresSQL is also worth looking into just because of its compliance to ANSI. If you want to learn SQL the way SQL was meant to be learnt PostgresSQL is a good candidate.

    MS SQLServer ain't worth it. I've developed with it and only remember pain.

  12. #12
    Join Date
    Aug 2006
    Posts
    3
    why don't you give a try on mySQL... am a mySQL DBA...

    been using mySQL for quite a long time since v3...

    hadn't encounter a real though situation where i myself can't get over it so far...

    cheers to your findings about micro.... what it is? harharhar
    been using it for starbucks here in one of asia's fastest growing "it hub" (i mean it with a quote) and it really really sucks...
    been out of that for about 2-3 years...

    well, pretty funny, but our 3 servers installed on different company that has an average data of 5-11gb aren't slowing down...

    there's a lot of forum that will help you started on getting to know how to use and run it as well...

    hope this will help...

  13. #13
    Join Date
    Jun 2003
    Location
    Ohio
    Posts
    12,592
    Sybase would be a great choice if you want to limit yourself to working on legacy systems five years from now...
    If it's not practically useful, then it's practically useless.

    blindman
    www.chess.com: "sqlblindman"
    www.LobsterShot.blogspot.com

  14. #14
    Join Date
    Sep 2002
    Location
    Sydney, Australia
    Posts
    255
    loquin

    Quote Originally Posted by loquin
    My reply to you and to FrostCS re scalability was in direct reply to FrostCS's definition... Database size.
    I think not. FrostCS actually said:
    3) My third concern will be scalability. I want a database that will perform well whether I have a 10mb database, or 100gb database. If I have to break these databases up at some point to run each on a seperate server, that is fine. As long as they can cooperate and communicate as needed.
    I'd like the foundation as strong as steel, so what may look like a 2 story village library one day, can have the Eiffel Tower sitting ontop of it the next.
    I was responding to the intent and the meaning, not just a single sentence. A village library has few concurrent users, the Eiffel Tower has thousands of concurrent users.

    Quote Originally Posted by DerekA
    First off, I was replying FrostCS, and not your post.
    What I mean is, you appear to think my post was responding to your post, and appear to be taking it personally. I did not consider your post. I was responding to FrostCS, only. (This is why I really dislike cross-posting.)

    I do not have a clue about PostgreSQL. Having said that, if it is the latest reincarnation of Ingres (which I do have experience with, and which was a complete dog's breakfast [what, did they forget the stake in the heart ?] ), then it is not worth the time of examining it. It is in the same category as Barnacle, but with a Sea Urchin inside. 5 active users/connections max, on any box. Turn locking and logging off, just to support more than 5 actuve users. Self governing taken to Da Xtreme.

    Cheers
    Derek Asirvadem
    Senior Sybase DBA/Information Architect derekATsoftwaregemsDOTcomDOTau
    Anything worth doing is worth doing Right The First Time
    Spend your money on standards-compliant development or spend 10 times more fixing it

  15. #15
    Join Date
    Sep 2002
    Location
    Sydney, Australia
    Posts
    255

    Breaking up is messy

    FrostCS
    You will not have to break anything up (and deal with the ensuing comms, etc) if you (a) use Sybase and (b) get a box that can grow. Just add CPUs, memory as your usage and load (not your database size!) grows.

    Grids are a new concept for the matchbox crowd who only know matchboxes, ferevently extending matchboxes, the current bleeding edge, with new monitoring and administration issues that are being addressed with new methods; they are not comparable to heavy duty SMP and administering a single HA server, which can grow. Yeah, at some point you will reach its limits and you will have to replace the box, then use the old box for DR or testing (which you will need once you get to the next class of server). Use the right box for the load/usage.

    Of course, many will argue, but IMHO grids are the poor man's (matchbox crowd) alternative to the Clustering, etc at the top end of town, even the Dual-Core was invented there and copied onto matchboxes, but the matchbox crowd (being unaware of the developments outside their horizon) think that these developments were invented by and for matchboxes. Eg. Dual-Core is old hat, we already have Multi-Core, give it a couple of years and you will see "new" Multi-Core matchboxes.

    Horses for courses, one size does not fit all. Grids are perfect for network load balancing and some (but not back-end-centric) web services, they are simply wrong for a back-end server (evaluate data cache; contention/locking; shared memory; shared disks; transactional issues) given that you can buy a Multi-CPU, Multi-Core, extensible big box (with shared everything on board on an internal bus) and configure it as a dedicated back-end db server.

    For the record, I am a Sybase Partner and a Sun SDC Partner.

    Cheers
    Derek Asirvadem
    Senior Sybase DBA/Information Architect derekATsoftwaregemsDOTcomDOTau
    Anything worth doing is worth doing Right The First Time
    Spend your money on standards-compliant development or spend 10 times more fixing it

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •