Solved

Help decide on technology stack

Posted on 2015-01-13
3
109 Views
Last Modified: 2015-02-10
Looking to build an application that primarily does a variety of data manipulation (on large data sets) using cool and simple UI

Key factors:
- need to use all open source technologies
- need to loosely couple
- postgresql is chosen for db because reliability and data integrity are an absolute necessity for my project
- Application performance could be moderate. Application might not have more than 2 concurrent users. Application deals with "large" data sets (10-100 gigabytes for now) but user can wait few more seconds or a min for the bulk updates to happen. So high performance is not a must have.
- any other key factors to consider?

Questions:
Q1# need advice on 'how to approach towards better design'. I really want to architect it well so future enhancements could be done painlessly
Q2# PHP vs Ruby vs Python- Which programming language is better with postgresql. I am leaning towards php since I guess it has extensive support with database programming
Q3# Material to read/learn about architecting web applications
Q4# Any pitfalls or major disadvantages of using postgresql?
0
Comment
Question by:rediscovr
3 Comments
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 40548164
If you're serious, you should investigate what Facebook has done to dramatically speed up PHP.  Some more info:  http://en.wikipedia.org/wiki/HipHop_for_PHP
0
 
LVL 110

Assisted Solution

by:Ray Paseur
Ray Paseur earned 250 total points
ID: 40548680
Skip PostGreSQL and use MySQL instead.  The availability of good toolsets for MySQL is much greater than PostGreSQL, and there is no difference in the reliability, performance or data integrity.  You can use either data base right or wrong, and the way you use the database will have more to do with the success of your project than the choice of the underlying engine.  FWIW, deployments of MySQL outnumber PostGreSQL by a very, very wide margin.  This did not happen by accident; the marketplace has spoken.  Some links of interest:
http://www.wikivs.com/wiki/MySQL_vs_PostgreSQL
http://en.wikipedia.org/wiki/WebScaleSQL (similar concept to HHVM)
http://db-engines.com/en/ranking_trend (log scale in this chart)

To your specific questions:
1. Build on Laravel and MySQL, use AngularJS for the client end.  (You can use Laravel Views, but you'll make the app more sophisticated and "slick" if you use a JS front-end and a Laravel API).
2. PHP because you may want flexibility to hire professional programmers. There are lots of PHP programmers.
3. Make a Google search and start there.  Dayle Rees books are a bit hokey, but good in terms of organization.  All of these products have online help and examples galore.  Laracasts.com is a good source.
4. In the face of the popularity of MySQL and the specialized development by the WebScale consortium, I would not recommend PostGreSQL.

Last note, then I'll sign off.  If you're doing this yourself and you already know a good bit about computer science, for example, you know Ruby very well, but do not really have any depth of experience in PHP or Python, then the obvious answer is "Ruby."  If you're thinking of getting help with the build, consider your local colleges and universities.  There are often Senior CS majors or grad students who are looking for a gig.

Best of luck with the project, ~Ray
0
 
LVL 62

Accepted Solution

by:
gheist earned 250 total points
ID: 40564952
Why bash PostgreSQL? MySQL is unstable database to trick you into selling you Oracle.... At least cal it MariaDB that has data integrity bugs of MySQL fixed...
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Windows Script Host (WSH) has been part of Windows since Windows NT4. Windows Script Host provides architecture for building dynamic scripts that consist of a core object model, scripting hosts, and scripting engines. The key components of Window…
If you haven’t already, I encourage you to read the first article (http://www.experts-exchange.com/articles/18680/An-Introduction-to-R-Programming-and-R-Studio.html) in my series to gain a basic foundation of R and R Studio.  You will also find the …
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.

685 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question