В некоторых библиотеках с этим бывают проблемы. Например, в cx-Oracle BLOB и CLOB нужно как-то замысловато обрабатывать. Я в sqlite3 не пробовал с бинарными данными.
Хотя вру, один раз имел дело: https://github.com/shurshur/sastms - но это обёртка над имеющимися данными в SAS.Планете. И там тоже без лишних телодвижений всё работало как надо.
ghostiki, просто базы плохо предназнаены для хранения объёмных данных. В своё время в mysql, например, размер строки в таблице не мог превышать 1000 байт (на все поля).
Можно посмотреть устройство любого, например, форума. Или тот же Wordpress. Везде картинки хранятся отдельно, а в базе указывается только имя и разного рода метаданные (ну там размер, формат, подпись итд).
А почему не получится тестовую базу создать? Можно даже инициализировать её с помощью ORM, даже сделать из этого отдельные тесты, которые проверяют, что база создалась и в ней количество и состав данных соответствуют ожидаемому...
Даже в Windows это негарантированная операция, потому что если поверх что-то успелось записаться (а в системе постоянно что-то пишется на диск), то, увы, всё.
uwu79, ну скорее всего она примерно то же самое делает. Но иногда может потребоваться какие-то свои специфические задачи, и там может пригодиться знание того, как с помощью SNMP доставать соответствующие данные.
Не существует универсального ответа. Зависит от специфики задачи, требований к нагрузкам, к безопасности, к ресурсу команды разработки... Опять же, если это уже прекрасно работает, не нужно это "чинить" ради неясной идеи.
В общем и целом - да, это вполне нормально для подавляющего большинства проектов.
mkone112, я привёл пример характеристик процессора, причём целых двух.
Пойми, без пояснения твоих реальных задач и реальных бенчмарков и показателей тебе никто ничего не посоветует, кроме общих объяснений, как бесполезно искать универсальный показатель.
Надо ещё учитывать, что ноутбук - это электроника для обычного потребителя, у которого не стоит задачи получать гарантированный уровень производительности, а просто некий комфорт в среднем при не очень высокой цене. Именно поэтому в "домашних" конфигурациях Linux многие параметры по умолчанию допускают, чтобы система могла слегка уйти в своп, слегка потупить на вводе-выводе итд итп - главное, чтобы можно было сочетать в среднем неплохую производительность или не очень высокое энерготребление (актуально для ноутбуков) с адекватной ценой. Это в кровавом энтерпрайзе 3 секунды небольших тормозов могут считаться аварией, ради избежания которой в сервера ставят огромные объёмы памяти, тысячеядерные процессоры итд итп, на ноутбуке же чуть тупит иногда - ну и ладно...
Вопрос "хорошей" соцсети не зависит от движка или ЯП. "Хорошесть" - это про функционал. Можно написать MVP на чём угодно. Можно даже написать узкую соцсеть для маленького круга лиц (уровня "все 300 туристов-каякеров своей области") на чём угодно.
Если разработка окажется вау, то что ни выберешь на старте, неизбежно придётся всё очень сильно переделывать. Возможно, и язык программирования тоже. Facebook и vk начинали с обычного стека php+mysql.
Виктор Кожухарь, я о том и говорю: инструмент используется тогда, когда чётко понимаешь, что он принесёт пользу, несмотря на свои сопутствующие недостатки. Например, при разработке стандартных сайтиков с простой структурой ORM очень даже удобно использовать, особенно если там мильон полей, которые будут только новые изредко добавляться. Ну и опять же, ORM можно совмещать с REST/CRUD.
Но основное против чего я выступал - это в ошибочном смешивании ORM и php. И на основе негативного отношения к php (скорее всего, больше эмоционального, чем практически осмысленного) отрицается и ORM.
В некоторых библиотеках с этим бывают проблемы. Например, в cx-Oracle BLOB и CLOB нужно как-то замысловато обрабатывать. Я в sqlite3 не пробовал с бинарными данными.
Хотя вру, один раз имел дело: https://github.com/shurshur/sastms - но это обёртка над имеющимися данными в SAS.Планете. И там тоже без лишних телодвижений всё работало как надо.