Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am considering using GridSQL in a production environment. However, I do have some indications that it is not ready. One is that it got excluded by the offering of EnterpriseDB a while ago, and the forums seem to report a few wrong results and relatively severe bugs. The alternatives to GridSQL, however cost around 100.000$ to buy, so I was thinking to utilize some of this money to ensure that GridSQL gets ready for production. At the same time, I could risk spending 50.000$ and months of work on the development of GridSQL, just to discover that the design was flawed and that a complete rewrite is needed. Then I would have to buy the commercial alternatives to GridSQL and the existence of my startup would be at risk.

Question

What steps would you take to ensure that there is as little risk as possible that the worst case scenario described above would happen? It is unrealistic that I could do much testing nor code review/coding myself (I am also not the best developer), so please describe where to find the guys that would need to do the work.

share|improve this question
4  
Just for the record, why are MySQL, PostgreSQL and e.g. Java-based Apache Derby not alternatives to GridSQL? –  user1249 Jun 21 '11 at 9:19
1  
@Thorbjørn Ravn Andersen Actually it is a simplification to say that GridSQL is a database. From SourceForge pages: GridSQL is an open source shared-nothing clustered database system for data warehousing designed for PostgreSQL. GridSQL includes intelligence to parallelize over multiple servers for achieving faster query response times. –  I_like_traffic_lights Jun 21 '11 at 9:43
    
Interesting. Sounds like a good opportunity to do serious loadtesting on a test installation. –  user1249 Jun 21 '11 at 10:20

1 Answer 1

It is unrealistic that I could do much testing nor code review/coding myself

That's false.

When using open-source products you are obligated to (1) run the tests that come with the product and (2) write your own acceptance tests.

If the project does not have a complete test suite, don't use it.

If it does have a complete test suite, then be sure it passes it's own tests.

Your acceptance test should assure that the features you're going to use really work. These acceptance tests will also be integration tests between your code and the project you're using.

You must test open source products you use. Or, you must pay someone to do this testing for you. Companies like Red Hat provide support for integrated, tested distributions of Linux components.

share|improve this answer
1  
I does not have a test suite, and paying someone to do this, would be my only option. My biggest worry is that a basic query like select sum(c) from table; would yield wrong results. –  I_like_traffic_lights Jun 21 '11 at 18:52
    
@I_like_traffic_lights: Then test that. –  S.Lott Jun 21 '11 at 18:54
    
Yes, but this means that there is a huge testing task, and I am asking for a strategy to go about this. Maybe a code review or something else would be more efficient than writing 10.000 test cases? –  I_like_traffic_lights Jun 21 '11 at 19:08
    
@I_like_traffic_lights: "there is a huge testing task". False. Test the features you actually use. Only those features. –  S.Lott Jun 21 '11 at 19:16
    
You are too sure about things... Before starting to utilize a database for a data warehouse, you want to ensure that all standard SQL queries are supported and return the correct results. A typical feature of a data warehouse is that there are a lot of ad-hoc queries. –  I_like_traffic_lights Jun 21 '11 at 19:29

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.