Solved

Help decide on technology stack

Posted on 2015-01-13
3
125 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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

Get MongoDB database support online, now!

At Percona’s web store you can order your MongoDB database support needs in minutes. No hassles, no fuss, just pick and click. Pay online with a credit card. Handle your MongoDB database support now!

Question has a verified solution.

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

Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
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.

636 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