1

Тема: PostgreSQL • MySQL • SQLite що швидше?

Чи проводив хтось тести яка база ( PostgreSQL • MySQL • SQLite) краще проявляє себе при навантаженнях?

Подякували: VertoX1

2

Re: PostgreSQL • MySQL • SQLite що швидше?

краще ніхто, мені порадили так, перестати слухати шо поставив і швидше працює, все через певний проміжок роботи буде тормозити.

3

Re: PostgreSQL • MySQL • SQLite що швидше?

Djalin написав:

Чи проводив хтось тести яка база ( PostgreSQL • MySQL • SQLite) краще проявляє себе при навантаженнях?

І можливо навіть був фанат котрий провів таке ж дослідження в зв"язці із Django! Як раз цікавить таке питання яка з баз буде кращою(оптимальнішою) для створення магазу на Django!

4 Востаннє редагувалося quez (12.06.2015 17:30:56)

Re: PostgreSQL • MySQL • SQLite що швидше?

VertoX написав:
Djalin написав:

Чи проводив хтось тести яка база ( PostgreSQL • MySQL • SQLite) краще проявляє себе при навантаженнях?

І можливо навіть був фанат котрий провів таке ж дослідження в зв"язці із Django! Як раз цікавить таке питання яка з баз буде кращою(оптимальнішою) для створення магазу на Django!

Будь-яка.

Подякували: VertoX1

5

Re: PostgreSQL • MySQL • SQLite що швидше?

При, перепрошую, яких навантаженнях?
Не знаю, як зараз, але традиційне позиціонування було таке: SQLite - вбудована БД для однієї програми, MySQL - окремо працює на тому ж чи суміжному сервері, PostgreSQL - розподілена по кількох серверах система. А навантаження - вони різні бувають.

Подякували: Chemist-i, ktretyak2

6

Re: PostgreSQL • MySQL • SQLite що швидше?

А ще є NoSQL, якісь штуки повязані з Hаdoop, так шо треба просто дійсно розібратися які навантаження, які операції будуть найчастіше виконуватися, який обсяг даних зберігатиметься...

7

Re: PostgreSQL • MySQL • SQLite що швидше?

Перепрошую, що відповідаю за пана, але як вже ж у курсі...
Питання виникло у контексті розробки системи обліку переглядів (припустимо, лічильник відвідин як таких), тому:
- обсяг збереження інформації мінімальний
- характер навантаження - постійне оновлення окремих значень

Окремо відзначу що традиційне позиціонування зараз не має надто суттєвої ролі - як PostgreSQL, так і MySQL чудово кластеризуються.

8

Re: PostgreSQL • MySQL • SQLite що швидше?

Справа в тому, що навіть якщо взяти одну лише MySQL, то вона має різні рушії таблиць (InnoDB, MyISAM, Memory...), які заточені під конкретні потреби (підтримка транзакцій, швидка вибірка...).

Тобто "навантаження" та навіть "постійне оновлення окремих значень" - це зовсім не однозначні поняття, і треба детально розписувати що саме вам потрібно.

Подякували: koala1

9

Re: PostgreSQL • MySQL • SQLite що швидше?

ktretyak, уявіть сторінку, яка просто-напросто рахує усі її відкриття.. одне числове значення. Не дуже помилитесь.

10

Re: PostgreSQL • MySQL • SQLite що швидше?

Lordie написав:

ktretyak, уявіть сторінку, яка просто-напросто рахує усі її відкриття.. одне числове значення. Не дуже помилитесь.

Ок, якщо говорити лише про вставку значень, то SQLite з цим справляється найгірше.

11

Re: PostgreSQL • MySQL • SQLite що швидше?

ktretyak, от і я про те подумав, що врешті-решт роль embedded-сервера змушує його весь час синхронізувати вміст з фактичним сховищем-файлом, а отже це ані краплі не рятує в сенсі зменшення навантаження на гвинт порівняно із звичайним file_put_contents, скажімо

12 Востаннє редагувалося ktretyak (13.06.2015 13:12:55)

Re: PostgreSQL • MySQL • SQLite що швидше?

Само собою що жодного сенсу немає підбирати будь-яку БД, якщо вам потрібно лише одне число, яке тупо збільшує своє значення при кожному завантаженні сторінки.

Якщо ж вам треба хоча б бачити хто саме ходить по вашому сайті, яку поведінку має, скільки нових користувачів, а скільки постійних, то тоді вже й можна подивлятись в бік БД.

13

Re: PostgreSQL • MySQL • SQLite що швидше?

ktretyak, тобто, у вищенаведеному сценарії ви вважаєте file_put_contents або аналогічну операцію найоптимальнішою?

14

Re: PostgreSQL • MySQL • SQLite що швидше?

Lordie написав:

ktretyak, тобто, у вищенаведеному сценарії ви вважаєте file_put_contents або аналогічну операцію найоптимальнішою?

Однозначно.

15

Re: PostgreSQL • MySQL • SQLite що швидше?

ktretyak, щиро сподіваюсь що це був жарт, бо виконувати файлову операцію запису щовідвідин сторінки (яких може бути і чимало на секунду) - і поруч не лежить з оптимальністю...

16

Re: PostgreSQL • MySQL • SQLite що швидше?

Lordie написав:

ktretyak, щиро сподіваюсь що це був жарт, бо виконувати файлову операцію запису щовідвідин сторінки (яких може бути і чимало на секунду) - і поруч не лежить з оптимальністю...

Раз таке пишете, то мабуть ви зможете відповісти на запитання: "За який час відбувається операція вставки/оновлення при роботі функції file_put_contents()?"

17

Re: PostgreSQL • MySQL • SQLite що швидше?

ktretyak, ви натякаєте, що у кожній системі це фіксована абсолютна цифра? Бо інакше я не дуже вловлюю суті цього питання

18

Re: PostgreSQL • MySQL • SQLite що швидше?

Lordie написав:

ktretyak, ви натякаєте, що у кожній системі це фіксована абсолютна цифра? Бо інакше я не дуже вловлюю суті цього питання

Ви описуєте свою задачу

уявіть сторінку, яка просто-напросто рахує усі її відкриття.. одне числове значення

І при цьому хочете почути щось більш чітке, ніж "так це оптимально", чи "оце не можна, а оце спробуйте"?

Це не логічно. Хочете деталей, описуйте більш детально, бо може й справді у вас сотні тисяч конкуруючих запитів за секунду, а я тут вам раджу використовувати функцію file_put_contents().

19

Re: PostgreSQL • MySQL • SQLite що швидше?

ktretyak, проблема з самісінького початку поставлена як "що є найпродуктивнішим варіантом", тобто працює швидше (не з точки зору часу написання, тощо). Одне числове значення також може переписуватись дуже багато раз за одну секунду, так, тому питання швидкості й оптимальності навантаження для цієї задачі стоїть так само як і для будь-якої іншої - навіть при крихітному обсязі даних

20

Re: PostgreSQL • MySQL • SQLite що швидше?

Вибачте, але очевидно, що ви досить далекий від предмету спору, тому думаю я завершу на цьому.

P.S. Заради інтересу спробував зробити операції зчитування та оновлення 10 тис. разів на своєму компі ось цим скриптом:

<?php

$test_num = 10000;
$filename = 'test_insert.txt';

file_put_contents($filename, 0);

echo 'start: '.time().'<br>';

for($i = 0; $test_num > $i; $i++)
{
  $num = file_get_contents($filename);
  file_put_contents($filename, ++$num);
}

echo 'finish: '.time();

В мене відбувається таке оновлення за 5-6 секунд, тобто за секунду до 2 тис. разів.