Solved

Help decide on technology stack

Posted on 2015-01-13
3
89 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 82

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 108

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 61

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

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this.Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it is …
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…

705 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now