technogy suggestion for a site

I want to build a site like amazon.com.
what is the best technology that i can use for easy maintenance, speed and reliability.
what are the advantages and disadvantages?
options are

1. php with my sql
2. dot net with sql server
3. java with oracle.
4. node.js
5. angular.js
codelevelAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Dave BaldwinFixer of ProblemsCommented:
What part of Amazon.com?  Amazon.com has been around for 21 years and brought in US$ 88.988 billion in 2014.  It employs 154,100 people and is rated by Alexa to be the 7th largest web site in the world.  But then... Amazon owns Alexa and many other companies.
codelevelAuthor Commented:
i need to list products, sell products and take online payment. simple.
customers needs to register and login.
did not literally mean what amazon is capable of.
but my site needs to be reasonably fast loading and capable of holding large data base.
Dave BaldwinFixer of ProblemsCommented:
Do you already have a business established with banking arrangements?  You can hire someone to do the web site part but stocking the products and shipping orders and having the banking arrangements to process payments will take more effort and resources.
Build an E-Commerce Site with Angular 5

Learn how to build an E-Commerce site with Angular 5, a JavaScript framework used by developers to build web, desktop, and mobile applications.

codelevelAuthor Commented:
Can you please suggest the technology from the options I have given above in the question.
Dave BaldwinFixer of ProblemsCommented:
I would choose PHP and MySQL... but without the other things I have asked about, you will not have a successful business.  The web technology is probably the least important part of an online business.
codelevelAuthor Commented:
Ok. Php and MySQL can handle 200 million products, any number of concurrent requests and yet load faster?
My question is tech only, not on business development.
Dave BaldwinFixer of ProblemsCommented:
Any business that is handling 200 million products is running 10s of thousands of servers distributed through out the world.  See here http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html for a hint about Amazon.

They are also probably using every known technology to keep it going.  Here is a link to images of Amazon's data centers that hold thousands of servers.  https://www.google.com/search?q=Amazon+data+centers&tbm=isch&tbo=u&source=univ&sa=X&ei=uEB1VYyCG5HEogSEr4CwDQ&ved=0CFwQsAQ&biw=1280&bih=844
gr8gonzoConsultantCommented:
If you want to just do some e-commerce, your easiest solution is to use PHP/MySQL with a pre-made tool like osCommerce or Magento. There are a lot of options that work under different technologies, and they all have strengths and weaknesses. If your only requirement is to list products and take online payment, then almost any of them will work for you.

As far as handling "200 million products, any number of concurrent requests, and yet load faster" - that is literally impossible with ANY technology. Even Amazon cannot handle "ANY" number of concurrent requests. At some point, there IS a limit to everything. If you go into designing a site with the idea that it can simply handle anywhere from 1 shopper to 10 billion shoppers all at once, then you need someone else to ask the technical questions.

That's like saying, "I want a car that has four wheels and can get me from point A to point B.... OH - and also, I want it to be able to carry an unlimited number of people at any time and be able to go faster than any existing car." You just cannot build a car like that because physics won't let you. There has to be some realistic limits.

In technical designs, your design is going to evolve over time. It's just the way things go. Successful businesses will hire someone to build a site that can handle their CURRENT volume of sales and an additional percentage (at least 10%-20% more), so they have room to grow. However, at a given point, the technical design needs to go beyond simple software. For example, the TCP protocol (which is what everything is based on today) has a limit of 65,535 network ports per computer. It is literally impossible for any computer today to have more people than that connecting AT THE SAME TIME (and the number is even less, since computers will be using some of those ports already for other tasks). In reality, most computers probably can't handle more than a few thousand concurrent requests without running into other resource problems (since every request can take several megabytes of RAM, portions of the CPU, etc...).

So the result is that when your business reaches a certain volume of traffic, you simply need more than one computer serving the web pages in order for the web site to continue to function properly. There's a lot that goes into all of that, and it's not just technology. That's why people get technical degrees and why you have to pay someone for that knowledge.
codelevelAuthor Commented:
Thanks for the tech details gr8.
One simple question, can I prefer dot net and sql server over php and MySQL for stability and speed?
gr8gonzoConsultantCommented:
Probably not for those reasons. They usually perform about the same in terms of stability and speed.

That said, SQL Server -is- a more robust database than MySQL. If you want to build out a very complex application, then SQL Server might be a good choice, but you'll also need to pay a lot of money to use it. You cannot use a "free" MSDN / Technet version of SQL Server in a production environment and if you do, then you can get fined for a LOT of money (wiping out any profits that you may have gotten so far). Similarly, SQL Server Express (which IS free) is not the same thing as SQL Server and is not nearly as robust. MySQL will almost always beat out SQL Server Express.

That said, we are again talking about more complicated topics. MySQL has different database engines that work different ways, and perform differently. If you have a lot of volume but not a lot of complexity, then you may not need the additional features that SQL Server offers. You should understand database design before you choose a database. You should be able to know approximately how many fields, indexes, tables, etc... you want, average row length, whether or not you want to use transactions, stored procedures, triggers, replication, etc...

If you don't know all that stuff, then you are not thinking through the problem properly.

All of those things will go into choosing the right database. A lot of people will choose PHP/MySQL (running on Linux and Apache or on Windows/Apache) because the entire platform can be put together for free. If you go the SQL Server route, you will at least need to purchase a license for SQL Server. The .NET framework is a free component and you can use IIS/ASP.NET for free, and it will perform just fine.

It is good that you're asking these questions, but if you're trying to make a decision on how to build out a platform that will scale well, then you really need to reading articles and doing lessons/exercises to learn all of the components better. If you don't, then you are doing what a lot of other doomed businesses have tried to do - run in without knowing the territory and assume it will all just "work out" and then fall flat on their faces.

Those businesses will forget about server and software maintenance, or compliance, or about security, or marketing upkeep, etc... and any small problem can turn into one that will sink the entire business.

So if you're in this to plan your business, then make sure you're taking time to learn the components and not simply ask someone, "Which one?"

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
codelevelAuthor Commented:
Thanks dave and gr8. Very useful info.
Dave BaldwinFixer of ProblemsCommented:
You're welcome.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Programming Languages-Other

From novice to tech pro — start learning today.