0

I am looking for server software to handle data for thousands of clients (internal company employees).

This server should be multi-threaded to handle all the clients with good client overhead handling. We require the feature of having no 2+ users updating the same data at the same time. It should be fully optimized to respond very fast with no delay.

What is the best way to do this? Build it from scratch or use other components found elsewhere? What tools/frameworks can you recommend?

  • please tell me if anything was unclear –  Aug 30 '10 at 23:35
  • 3
    @Moayyad: the question is unclear. What excatly are you looking for: a prebuilt framework? A library to connect to SQL Server? What language/platform do you have in mind? – p.campbell Aug 30 '10 at 23:38
  • im looking for a prebuild framework, or a resource. i use windows 64x and i use python,C, C++ . but i have no problem using any other programming languages. –  Aug 30 '10 at 23:45
  • I think you need to back up and tell us what *kind* of server you're looking for. The number of users doesn't mean an email server is the same as a SQL server. In any case, given that you seem to be looking for existing software, not techniques to *write* software, it sounds like (a clarified version of) the question would fit better on ServerFault.com. – Jerry Coffin Aug 30 '10 at 23:45
  • 1
    @Moayyad: is this for an application that you're writing? Is the app already written? What's the business application here? Web/intranet or desktop application? What's the size/shape of your data? – p.campbell Aug 30 '10 at 23:48
  • this server will be used to save the assets name in the company , it's progress, and people working on those assets in tables. and by resource i meant a techniques or books for this task –  Aug 30 '10 at 23:51
  • its a desktop application , and no the app is not written yet. ( the server is one of it's parts ) , im not sure about the size . it's the assets of a big 3D animation studio with a 1000 employees. (hope idea is clear enough),so yes it's a big database i think, the data base will be the assets data( name, date , tasks of the assets , etc) . –  Aug 30 '10 at 23:53
  • @Jerry , yes it's an SQL server not a mail server –  Aug 30 '10 at 23:58
  • So, to re-cap... What you're looking for is "a server that saves data. a lot." Based on what you're telling us, I'd recommend MS SQL Server. Now if you'd like to be more specific... – David Aug 31 '10 at 00:10
  • 5
    This sounds like a job for a qualified and experienced developer; and that apparently isn't you. $DEITY help the users of this application. – Chris S Aug 31 '10 at 01:02

1 Answers1

0

Presuming that you are deploying web application.

  1. Tune SQL server, optimize queries (details depend on DBMS). Some times you have to hit developers with wooden stick quite long, until they start writing effecient queries. Transactions helps you with multiple users updating same data.
  2. Avoid hitting DB server altogether with key-value cache serve like memcached.
  3. If page is (almost) static use caching server like varnish with ESI.
  4. Most web apps are IO bound, so deliver compressed content and invest in RAM (DB servers also like RAM).
  5. I suggest using technology with you are familiar with, if it is .NET, use ASP.NET (MVC, linq etc.) and MS SQL server, if it is PHP, use Zend Framework with Postgres or MySQL with InnoDB storage engine, if it is Java, use Spring, GWT and Hibernate etc... (best technologies depending on language are subjective and opinionated on my experience.)
Kristaps
  • 2,985
  • 17
  • 22