Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...Badoo Development
Каждый день на badoo.com пользователи просматривают порядка 100 миллионов профилей других юзеров. Мы храним счетчики и полную историю посещений за последние 90 дней, с некоторой агрегацией - это около 5 миллиардов ивентов. Система обрабатывающая этот поток данных создана давно и пережила несколько инкарнаций, становясь все ближе к базе данных.
В какой-то момент мы решили перестать изобретать велосипед, отказались от демонов на C+sqlite, не стали делать на mysql-ях, редисах и мемкешах, а взяли и запилили на Tarantool.
Рассказываем почему Tarantool, как шардим, реплицируем (все просто) и как плавно это дело внедрили на живой системе без downtime.
Доклад Антона Поварова на Tarantool Meetup. "Tarantool в Badoo: хранение исто...Badoo Development
Каждый день на badoo.com пользователи просматривают порядка 100 миллионов профилей других юзеров. Мы храним счетчики и полную историю посещений за последние 90 дней, с некоторой агрегацией - это около 5 миллиардов ивентов. Система обрабатывающая этот поток данных создана давно и пережила несколько инкарнаций, становясь все ближе к базе данных.
В какой-то момент мы решили перестать изобретать велосипед, отказались от демонов на C+sqlite, не стали делать на mysql-ях, редисах и мемкешах, а взяли и запилили на Tarantool.
Рассказываем почему Tarantool, как шардим, реплицируем (все просто) и как плавно это дело внедрили на живой системе без downtime.
2. Функция rand()
Возвращает целое псевдо-случайное число между
0 и RAND_MAX (включая 0 и RAND_MAX)
RAND_MAX это специальная константа языка Си, в
которой содержится максимальное целое число,
которое может быть возвращено функцией rand().
4. Функция rand()
Функция rand() определена в заголовочном
файле stdlib.h. Поэтому, если хотите
использовать rand в своей программе, не забудьте
подключить этот заголовочный файл.
Константа RAND_MAX тоже определена в этом
файле.
5. Функция rand()
Функция rand() определена в заголовочном
файле stdlib.h. Поэтому, если хотите
использовать rand в своей программе, не забудьте
подключить этот заголовочный файл.
Константа RAND_MAX тоже определена в этом
файле.
6. Функция srand()
Функция srand() используется для установки
начала последовательности, генерируемой
функцией rand()
Функция srand() позволяет запускать программу
несколько раз с различными последовательностями
псевдослучайных чисел.
8. Функция time()
Функция time() возвращает текущее календарное
значение времени в секундах.
time_t seconds;
seconds = time (NULL); // получить текущую дату,
// выраженную в секундах
13. Диапазон случайных
чисел
Если вы хотите получить числа, начиная с
какого-то числа N, то достаточно просто к
полученному случайному числу прибавить это
число N. Тогда, если функция вернет 0,
итоговый ответ будет N. Этим действием мы
как бы сдвигаем все числа на N единиц вперед
14. Диапазон случайных
чисел
Что бы получить числа в диапазоне от N до M.
Достаточно объединить два способа вместе.
int i = N + rand() % M;
16. Алгоритм суммирования
В цикле изменяя i от 0 до n -1 вычислить сумму
элементов массива по выражению
sum = sum + ai
Установить значение переменной для
накопления суммы (sum) в нулевое значение
(sum = 0)