This week's book giveaway is in the OCMJEA forum.
We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line!
See this thread for details.
The moose likes General Computing and the fly likes Database license Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCM Java EE 6 Enterprise Architect Exam Guide this week in the OCMJEA forum!
JavaRanch » Java Forums » Engineering » General Computing
Bookmark "Database license" Watch "Database license" New topic
Author

Database license

Deepak Bala
Bartender

Joined: Feb 24, 2006
Posts: 6661
    
    5

I am looking for a database with clustering support, failover and good stability. What is the cheapest DB that you would recommend ?

I had a look at Mysql and it looked promising.

https://shop.mysql.com/enterprise/?rz=s2

The prices appear to be something that I could afford and I have been hearing good things about this database. Do you have any suggestions ?


SCJP 6 articles - SCJP 5/6 mock exams - More SCJP Mocks
David O'Meara
Rancher

Joined: Mar 06, 2001
Posts: 13459

Apache's JavaDB (aka Derby)?
Deepak Bala
Bartender

Joined: Feb 24, 2006
Posts: 6661
    
    5

Thanks David. The java DB solution looks interesting.

My main concerns are

Clustering
Load balancing
Fail over
Database backups
Performance

What would you think of the performance that open source solutions offer against commercial databases ? I have been browsing a few of late. Another solution of interest seems to be PostGresql. It also appears that you can take the problem of load balancing, clustering, failover to a solution like sequoia - http://sequoia.continuent.org/HomePage. Any thoughts guys ?
[ May 15, 2008: Message edited by: John Meyers ]
Nicholas Jordan
Ranch Hand

Joined: Sep 17, 2006
Posts: 1282
Originally posted by John Meyers:
(..snip..)Any thoughts guys ?


Open source tools, whether DB or anything else represent promising avenues. There are a plethora of potential issues, and we are sure to get at least a few. We have an abundance of Masters here, and I capitalize that term to convey to you the depth of insight that can be brought to your problem analyses - but we need answers to several questions:
  • Is this a commercial project or a student project?
  • Do you have a DB that you are favoring already? - And if so, why.
  • Performance needs of time response and reliability. ( Largely already answered )
  • Is this a rollover from an existing site's data store, or are we designing an entire installation from scratch?What are the security needs as access control and key management?
  • Clustering - How big?
  • Load balancing - Convoluted issue, you will have to track this yourself.
  • Fail over - Rollover to an entire secondary system? ( Tree in Forest for cs majors )
  • Database backups - How are they managed: Manually or do you want the DB to rollover stores to the db by an internally controlled scheduler?
  • Performance - May calls be idempotent?

  • There is a DB beginner area on the front of the site - I suggest trying that for get-going.

    [ Message edit: If the answer to any question is do not know, then the answer to that question is do not know. also - Pat knows what he is doing on this subject, and ~ like he says: Commercial grade installations must examine commercial solutions. Additionally I would add that most managers like a warm and fuzzy feeling, even if it means making a world-class operation bend to the design of soft constraints. ]
    [ May 16, 2008: Message edited by: Nicholas Jordan ]

    "The differential equations that describe dynamic interactions of power generators are similar to that of the gravitational interplay among celestial bodies, which is chaotic in nature."
    Pat Farrell
    Rancher

    Joined: Aug 11, 2007
    Posts: 4650
        
        5

    I use MySql, it works well for my needs.

    With any open source tool, even if you pay for support, you should not expect the same support you would get with a heavyweight vendor such as Oracle.

    For most folks, this is a good tradeoff, as the Oracle professional services are not cheap.

    Some PHB like the warm and fuzzy feeling that Oracle gives.

    If you are doing serious work, be prepared to pay for your own serious DBA no matter what you pick.

    And for really high volume sites, millions of hits a day, you really need a more serious solution, usually with memcached and tiers of databases.
    Deepak Bala
    Bartender

    Joined: Feb 24, 2006
    Posts: 6661
        
        5

    Thank you so much for your replies. To answer your queries

    Is this a commercial project


    Yes

    Do you have a DB that you are favoring already? - And if so, why.


    I dont have one as yet. I am trying to decide what to go for. I need something low cost but good. Paradox ?

    Performance needs of time response and reliability.


    I dont have specific numbers as yet for the DB. Any numbers / definitions I provide would be vague I feel.

    Is this a rollover from an existing site's data store, or are we designing an entire installation from scratch?


    New installation for my clients.

    Clustering - How big?


    One mirror would serve for the moment and we plan to scale it based on increase in user usage of the system

    Rollover to an entire secondary system?


    Yes that is what I meant.

    Database backups - How are they managed: Manually or do you want the DB to rollover stores to the db by an internally controlled scheduler?


    Automatic backup each hour. Something like oracle's redo logs

    May calls be idempotent?


    Some calls are and some are not. I am not sure I completely understood the question though.



    I use MySql, it works well for my needs.


    I had a close look at it as well. I agree with the views here about support and problems with open source technology. The system is not expected to be bombarded with user when it starts. The number of users is expected to increase with time at which point the system will have to be scaled appropriately. So I thought it might make sense to go for something open source in the beginning and then port the data to a commercial solution later.

    If you think something sounds wrong let me know. Given the requirements what do you think of commercial solutions that would fit this deal ? I would like to hear your opinion on this.

    To summarize I would like to either settle for a temporary short term solution by opting for an open source product and then moving to a commercial one later or settle for a long term commercial solution to start with.

    Any suggestions / advice would be great. Thanks
    [ May 16, 2008: Message edited by: John Meyers ]
    Nicholas Jordan
    Ranch Hand

    Joined: Sep 17, 2006
    Posts: 1282
    Probably start with My SQL - be sure to check out the Cattle Drive!

    Originally posted by John Meyers:
    Thank you so much for your replies.


    Co-operative development.

    John Meyers:   Yes.Then we need to examine Security issues with a nit-pick. ( joking nomenclature for clarity )

    John Meyers:   Paradox? No, that is how business runs.

    John Meyers:   I dont have specific numbers as yet for the DB. Any numbers / definitions I provide would be vague I feel.

    That is known computer science, we code for the general case. Anywhere that fails us is the manager's problem.

    John Meyers:   New installation. Is it a small shop? In other words, do we have a warehouse that serves a few disparate locations or are we talking about a megalith.

    John Meyers:   One mirror. Start with local machines that are not being used heavily as the basis for redundant stores. Make sure you have the backup and recovery methodology routinely included in testing and Alpha.

    John Meyers:   Full rollover goes to independent secondary system. There are subtle issues here, issues that cannot be shaken out this early. Suffice it to say a world-class cryptographer cited an obeservation I made on how the scenario unfolds scientific literature. It is neither Meaninless Drivel nor General Computing. Revisit this after comittee and before budgent authorization in the Security forum.

    John Meyers:   Automatic backup each hour. Something like oracle's redo logs. There will be someone post who can suggest the appropriate Java tool. Move to that forum when they do.


    John Meyers:   Some calls are and some are not. I am not sure I completely understood the question though. The people who will be making observations know what I mean ( intend ) There are subtle robusness issues that have to be balanced for a commercial project. How much coding have you done. { An answer along the lines of 'I have such and such formal training in cs' will probably be of more use. I want to know how much field experience you have. }

    I had a close look at it as well. I agree with the views here about support and problems with open source technology. The system is not expected to be bombarded with user when it starts. The number of users is expected to increase with time at which point the system will have to be scaled appropriately. So I thought it might make sense to go for something open source in the beginning and then port the data to a commercial solution later.

    Good, common sense present. Wait a few hours or whatever it takes and take that paragraph to whatever fora they tell you to.

    If you think something sounds wrong let me know. Given the requirements what do you think of commercial solutions that would fit this deal ? I would like to hear your opinion on this.

    Ideal textbook case, nothing wrong. Somebody thinking before they purchase a database is unusual ( eh, Pat? ) but otherwise we have a dream - a case study in the power of Java.

    This is my opinion, documented in O'Reilly titles on Perl: A large aircraft manufacuturer in Wichita spent untold superbudgets on a massive, real-time compliant 'database' and never got it running to their satisfaction. An engineer or programmer wrote the database in a tool used by this site currently, though we are upgrading. The transition process is delicate, I hope they let you observe or have some META-INF on the matter. The work is more than I am qualified to participate in but I can assure you their abbreviatied oversight comments would be pure gold for you.

    Anyway, the database tool the programmer wrote actually ran and provided the funcionality needed. The managers are probably still warm and fuzzy.


    To summarize I would like to either settle for a temporary short term solution by opting for an open source product and then moving to a commercial one later or settle for a long term commercial solution to start with.


    Start with the Cattle Drive, go from there. It is my job on vast sprawling pojects to go back and fix these after everything is ruint. .... Start witht the Cattle Drive.

    Any suggestions / advice would be great. Thanks

    Wait for comments here by more experienced posters, I would not know an Oracle from an Uncle. ( joke for the Masters )
    [ May 17, 2008: Message edited by: Nicholas Jordan ]
    Deepak Bala
    Bartender

    Joined: Feb 24, 2006
    Posts: 6661
        
        5

    Is it a small shop?


    Right now yes.

    There are subtle robusness issues that have to be balanced for a commercial project.


    This subtlety can be taken care of. Some calls are not idempotent

    Start with the Cattle Drive


    Not sure how the cattle drive will help. I need help picking out a database because I have never done it before. Comparing solutions and their ROI is what I am trying to figure out.

    I ll fish some more as time goes by. Thank you for your thoughts.
    Pat Farrell
    Rancher

    Joined: Aug 11, 2007
    Posts: 4650
        
        5

    You should (probably must) have some ballpark volume and sizing numbers. They are important, don't need to be super specific. Something like:

    Main tables will have 10,000 rows, read access 3600 per hour,
    update rate 1800 per hour. System will have 45 tables of about 15 columns each.

    idempotent


    Google for it. If you need it, it pushes your selection, if the DBMS can do some of it for you.
    Nicholas Jordan
    Ranch Hand

    Joined: Sep 17, 2006
    Posts: 1282
    Originally posted by John Meyers:
    (...snip...)Not sure how the cattle drive will help.(...snip...)


    [message edit: http://www.javaranch.com/drive/jdbc/index.jsp .... that should help]

    That is understandable, I spend time considering scenara that are gruesome and legally infeasible. It gets back to protecting the honest person on your own team. Everything else is per Pat. Small shop uses trust model, Pat will know that.

    mesasge edit: The thinking here is that I saw some SQL stuff there, maybe it was JDBC but in any event these get down to writing server query statements - I have found from 50,000 hours that the primary basis of safety is skill. Whatever you write can be a drop in for what you choose as your database engine, and will upgarde or scale up much easier if you get to writing Java Database stuff. Java takes some thorny issues and presnts a uniform interface.

    Maybe you can get an exemption to just to the database stuff if you have written a lot of code.

    [ May 17, 2008: Message edited by: Nicholas Jordan ]

    [ May 19, 2008: Message edited by: Nicholas Jordan ]
    [ May 21, 2008: Message edited by: Nicholas Jordan ]
     
     
    subject: Database license