V
V
Vorb2011-05-04 15:09:47
Database
Vorb, 2011-05-04 15:09:47

Choosing a DBMS for a project?

The opinion of the habra community is interesting. Briefly about the tasks:
- mostly select and insert operations
- about 100K clients
- PHP engine, will run under Apache (Linux)

Answer the question

In order to leave comments, you need to log in

13 answer(s)
D
DevMan, 2011-05-04
@Vorb

Take PostgreSQL - you can't go wrong.

S
Shizz, 2011-05-04
@Shizz

Particularly pleased with the preferential operations of selection and insertion.
The only thing that can be advised is that if you need to build reports on the information stored in the database, then relational DBMS will be more convenient. Not enough information for the rest.

A
Alexander, 2011-05-04
@akalend

any one you know better.

M
mark_ablov, 2011-05-04
@mark_ablov

MySQL + MyISAM will do just fine.

W
Weageoo, 2011-05-04
@Weageoo

I like PostgreSQL so much that I would "shove" it into every project. But I agree that there is not enough information.

S
sajgak, 2011-05-04
@sajgak

and what do you really need? something that will pull 100k clients has a driver to puff? Any sql, nosql solution, files after all. The choice nevertheless rather depends on the aspects of work: load, reliability, speed. Choose any 2 and you will be able to choose a solution

A
admin4eg, 2011-05-05
@admin4eg

Postgre + can somehow be combined with noSQL,
it is not difficult to start, and on takeoff you can understand what and how to expand further, how to endure high loads.
well, an important role is played by the optimization of queries and the database schema, otherwise wordpress drowns my 2 head server with zeons 2.8 (p4 level) at 5k uniques per day. glory to memkeshed who saves

K
kapitansky, 2011-05-05
@kapitansky

If MySQL, then it seems to me that the MyISAM engine is not the best choice (due to table-by-table locking) - the right solution would be to combine InnoDB and MyISAM (in cases where it will be required to display a large amount of information, as well as use the built-in mechanism full-text search (because InnoDB does not have it and you will have to “invent” your own / use other people's mechanisms)). In addition, since version 5.5, MySQL has the ability to create noSQL storages (if you are not satisfied with memcache (and others) that are easily integrated with php).
I can also recommend turning your attention to the Firebird DBMS.
As for Ms, SQL is a very powerful database, but of course it is more convenient to work with it using C # and MS products (for example, Visual Studio) - this will significantly reduce development time.
As you probably already know, php is not the best tool for implementing high-load systems (you have to fight here), well, you have to make a decision about the programming model - I don’t think that the OO model would be the best choice. Perhaps you should turn your attention to Java or C # ...
Well, of course , the structure of the database is extremely important - in case of the wrong choice, not a single DBMS will save. But in order to come to an optimal structure for a given solution, you need to understand what exactly you are going to implement, but I, if I understand correctly, then you do not have this understanding. If you will allow me, my advice is to start with this, and not with the choice of a DBMS.

V
Vorb, 2011-05-04
@Vorb

In general, about 30% of tasks will be similar to social. network. 100K clients is, in fact, the first stage, then there will be more, ten to twenty thousand users online database should keep. There is no race for free, but Oracle is expensive.
Look towards MSSQL and PostgreSQL. I didn't work with MsSQL at all, I don't really like the idea of ​​php on linux + mssql (which, by the way, is preferred).

A
Anton Spirin, 2011-05-04
@dude_sam

And what? Does the resource engine (php, apache, linux) have to be a heterogeneous database? That ms sql completely passed (I don’t think so - IMHO).

V
Vorb, 2011-05-04
@Vorb

DevMan
they originally conceived of Oracle, everything was fine, but it turned out to be too expensive. Therefore, they took a cheaper enterprise DBMS - mssql, while the web server remained on linux + apache + php. This idea seemed clumsy to me, so I asked this question here.

E
Eugene, 2011-05-04
@immaculate

You do not have requirements, but the devil knows what. "Select and paste operations" - any project fits this definition. “100K clients” is this the number of site visitors or database connections? Per second, hour, month?
Although, if we take free / free solutions, then the choice is still between MySQL and PostgreSQL. Well, still firebird, but it is not clear what advantages it has, but there are a lot of disadvantages.
PostgreSQL has always outperformed MySQL, but until versions 8.1-8.2, it lagged behind in performance. For several years now, I have caught up and even surpassed it, so I don’t see much point in using MySQL. Moreover, the possibilities that PostgreSQL provides are not some exotic, but quite applicable in any project, for example, window functions.

V
Vladimir Chernyshev, 2011-05-05
@VolCh

For some reason, all the respondents focused on the choice between different, but very similar SQL RDBMS. NoSQL is a viable alternative, especially if the vast majority of selects are either single table selects with dictionaries or complex selects aimed at providing a flexible entity schema (user-defined attributes, etc.).

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question