Задать вопрос
  • Как обработать sql-дамп bash-скриптом[sed,awk]?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дружище. Тебе не надо этот дамп обрабатывать. Загрузи его в любую БД (SQLite, postgres) и там одной
    командой сделай нужное отбеливание.

    Игры с sed/awk обычное не нужны при работе с БД. Достаточно самой БД.

    Исключение может быть только в том случае если ты делаешь лабу и преподаватель тебе
    специально назначил такие ограничения. Типа изучаем консоль линукс и обработку текста.
    Ответ написан
    1 комментарий
  • RX 7900 GRE или RTX 4070 Super?

    xez
    @xez Куратор тега Железо
    TL Junior Roo
    Мой опыт такой (rx480 -> rx5700xt): какая-то у них проблема есть.
    Не знаю, то ли ПО кривое, может с железом что-то не так, или мне не повезло просто. Но с rx480, помню, полгода после покупки сталкивался с проблемой черного экрана. Чего только не делал, два бп заменил, потом само-собой как-то починилось.
    Потом с rx5700xt проблемы с температурами были. На новой карте, считай, пришлось термопасту менять - тогда только нормально заработало.

    Вот почти четыре года назад приобрёл rtx3080 на старте продаж - никаких проблем вообще. Вставил и работает.
    Ответ написан
    Комментировать
  • Какие БД используют крупнейшие торговые сети для хранения заказов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я полагаю, что такие магазины сохраняют всё, например в postgres или greenplum, а затем передают в аналитические базы (или пишут параллельно), типа в кликхаус или oracle?


    XX век прошел под флагом реляционных СУБД. Вокруг них строились все системы.
    Для любой банковской системы БД - абсолютная царица дизайна. Именно от нее шло
    техническое задание. От базы а не от Хибернейта и синтетических таблиц как щас.
    Таблицы любили. Вокруг них строили красивые теории. Модели. EAV. Подгоняли
    аппарат алгебры (Эдгар Кодд со своими формочками).

    В появлением NoSQL и стриминговых систем - пришлось всем признать что реляционка
    исчерпала возможность линейного роста. У Майкла Стоунбрейкера есть статья где
    он меряет БД под нагрузкой и доказывает что треть ресурсов CPU просто сгорает
    в блокировках и защелках и прочих механизмах синхронизации.

    Какой софт использует розничная торговля - сложно сказать. Там будет десяток систем которые
    работают просто всместе как Grid. Например сообщения от кассовых аппаратов и платежных
    систем могут в первую очередь падать в JMS/MQ систему. А уже потом процесситься и ложиться в
    БД операционного дня. И по проишествии периода - сливаться Warehouse и в BigData
    Есть еще вариант что в аналитику сразу попадают данные со стриминга. Я такое видел.
    И это не последняя часть стека. Аналитика в свою очередь является источником для всяких
    BI, витрин данных. ОЛАП-кубиков и прочее что любят смотреть и показывать на презентациях.
    С красивой инфографикой.

    Что использует Магнит - чорт его знает. Это можно поискать по всяким конференциям. Но само
    знание или название продуктов вам ни о чем не скажет. Если они используют допустим
    Kafka+Clickhouse - из этого не следует что вам это пригодится.

    Были странные архитектурные решения. Uber например пытался выжать максимальные мощности
    из Postgres и не смог. Перешел на MySQL. Видимо им было достаточно MyISAM и брали лишь
    только те фичи что надо.

    Facebook строил Rocksdb (Key-Value) с очень сильной оптимизацией по диску. Там уже было
    не R+Tree а другой тип дерева. Тоже видимо у конторы так "пригорело" что им надо было
    штучную NoSQL делать.

    СБЕР по слухам строил на Apache Ignite прослойку между Ораклом и клиентами потому что Оракл
    не справлялся с нагрузками. Впрочем я не могу это нигде доказать. Просто слышал в разговорах
    архитекторов. И это очень штучное и очень деликатоное решение. Другим оно может вообще не подойдет.
    Нужно много думать о механике инвалидации кешей.

    Хедж фонд BridgeWater строит свои хранилища ассетов на базе Amazon S3. Реально эти ребята пихают
    в С3 все что можно. И в этом есть своя стратегия. S3 стоит дешево. И масштабируется. Дешевле чем DBMS.

    Также, я думаю, что множество магазинов могут быть обслуживаться отдельными кластерами, чтобы работа всей сети не остановилась, если какая та БД выйдет из строя?

    Эту задачу тоже можно решать на разных уровнях. Мне нравится решение от Cassandra. Там все
    таблицы имеют 1-2 реплики. И убить всю систему в целом в принципе невозможно пока последний
    датацентр стоит. Но Кассандра платит за это отказом от consistency и вообще она считается не-реляционкой.
    Хотя базовый диалект SQL поддерживает. Фактически она - умный NoSQL c хорошим сетевым протоколом
    обхода сбоев и конфликтов. Кажется Netflix ее активно использует.

    Вобщем можно дизайнить системы по разному усиливая одни части и ослабляя другие.
    Это как тот треугольник дешево-медленно-дорого но в углах стоят разные качества. Например
    CAP-свойства систем. Или приоритеты. Тебе что важно. Быстро записать в БД платеж? Но при этом
    чтение оперативных данных потребует лагов. Или наоборот писать медленно зато чтоб все по ящичкам
    и по коробочкам лежало да и еще в разных копиях и вариациях.
    Ответ написан
    10 комментариев
  • Вопрос про термопасту и термопрокладки?

    VoidVolker
    @VoidVolker Куратор тега Железо
    Dark side eye. А у нас печеньки! А у вас?
    Нет, термопаста не повредит транзисторам - они зачастую и сами через термопасту или термопрокладки на радиаторы приклеены. От пальца термопрокладке плохо тоже не станет.
    Ответ написан
    4 комментария
  • Вопрос про термопасту и термопрокладки?

    @Drno
    Термопаста не проводит ток (за исключением пасты с частицами металла)
    Ответ написан
    Комментировать
  • Как сгруппировать массив в одномерный с соединением ключей и значений?

    0xD34F
    @0xD34F
    function getCombinations($arr, $keys = [], $vals = []) {
      return ($n = $arr[count($keys)] ?? null)
        ? array_merge(...array_map(
            fn($k) => getCombinations(
              $arr,
              [ ...$keys, $k ],
              [ ...$vals, ...$n[$k] ]
            ),
            array_keys($n)
          ))
        : [ implode('_', $keys) => $vals ];
    }
    Ответ написан
    1 комментарий
  • Стоит ли хранить изображения base64 в БД?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Классические реляционные СУБД (MySQL) плохо приспособлены к хранению бинарных
    файлов. Все дело в размере строки. Исторически 1 строка (data_row) в БД не превышала 4-8 килобайт.
    Исходя из этого ограничения БД проектируют кеш и алгоритмы когеретности по кешу.
    И все работает отлично до тех пор пока вы не начинаете миксовать крупные файлы и строку БД.
    В этом случае мехнизм кеширования БД ломается и БД вынуждена ходить в disk (tablespace)
    который по total cost of ownership всегда стоит дороже чем обычный диск, и тем более дороже
    чем хранилище AWS/MS-Blob/GDrive. Дороже будет стоить бэкап базы данных которая на 95%
    к примеру состоит из JPG картинок вместо реляционных данных. Такова специфика дискового
    пространства почти любой БД. Не удивляйтесь если облачный биллинг вам выкатит счет
    по которому JPG картинки будут стоить как крипта. Дороже будет сетевой траф для публикации картинки
    ведь вам надо сделать сначала трансфер этих мегабайтов с хоста MySQL в Node/Tomcat/Apache
    и лишь только потом сделать еще один трансфер с веб хостинга к клиенту. Трафик - 2x.

    Поэтому имеет смысл толстые картинки положить в обычный диск под веб сервером Apache
    или пошарить хранилище через web-endpoint. В этом случае биллинг за хостинг картинок
    для вас станет хотя-бы разумным. А в реляционной базе хранить тольк URL на этот диск.
    Ответ написан
    3 комментария
  • Можно ли поставить один процессор в двухпроцессорную материнскую плату?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Можно
    Но нужно смотреть документацию конкретной платы. В однопроцессорном варианте могут (будут) работать не все DIMM. PCI-E слоты и еще некоторые вещи.
    А так это стандартная компоновка серверов "на вырост"
    Ответ написан
    Комментировать
  • Не запускается ПК после пересборки, нет изображения, в чем причина?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Начать надо с модели материнки. И, если там машинист какой-нибудь или хуананжи (вроде это нечто так произносится) - этим можно и закончить. Потому что китайские матери для внутреннего китайского рынка работают, как захотят :)
    Ответ написан
    3 комментария
  • Как обрезать переменную в начале до слэша php?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    С помощью mb_strpos находишь номер позиции слэша, а потом используешь mb_substr. Ссылки на документацию есть, дальше сам.
    Ответ написан
    Комментировать
  • Делал форму обратной связи, вроде написал все правильно, но выводит ошибку заполните все поля, хотя все заполнил. Как быть?

    @alexalexes
    <form action="send.php">
    ...
    </form>

    Вы не указали метод отправки POST, соответственно, ваши переменные формы нужно искать в методе GET.
    <form action="send.php" method="POST">
    ...
    </form>

    Чтобы убедиться в этом:
    echo "GET:";
    var_dump($_GET);
    echo "POST:";
    var_dump($_POST);
    exit();
    Ответ написан
    Комментировать
  • Как решить проблему PDOStatement::execute(): SQLSTATE[HY093]?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Камрад alexalexes мыслит в правильном направлении, но как все новички, пишет очень много ненужного кода.
    Вот более простое решение, которое и можно рекомендовать в этом случае:
    $product_list = [30, 32, 38];
    // получаем строку вида ?,?,? по количеству эл-тов в массиве
    $placeholder_string = str_repeat('?,', count($product_list) - 1) . '?'; 
    $sql = "SELECT * FROM `products` WHERE `productId` in ($placeholder_string)";
    $query = $db->prepare($sql);
    $query->execute($product_list); 
    $products_data = $query->fetchAll(\PDO::FETCH_ASSOC);
    Ответ написан
    Комментировать
  • На что расходуется сеть?

    @Drno
    С чего Вы взяли что снизилась скорость интернета? скачивание конкретного файла с конкретного сервера это не показывает. показывается только реальную скорость между Вами и этим серверов, а причин для такой скорости может быть множество
    Ответ написан
    7 комментариев
  • Почему ПК не принимает оперативную память, хотя дожен бы?

    @Drno
    Ну для начала попробуйте запустить всё на авто. А дальше -
    это какой то ноу-нейм китай, хз рабочая она или нет...
    покупать надо лучше нормальную фирменную оперативку - кингстон, hynix, etc...
    Ответ написан
    4 комментария
  • Возможно ли задать приоритет использования файла подкачки на разных дисках?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Использовать оперативную память, что бы туда сбрасывалась невостребованная информация из оперативной памяти? Серьёзно? А следом будет добавление виртуальных CPU, что бы помогали физическим, да?
    Ответ написан
    Комментировать
  • Как устрнанить ошибку "PHP ZipArchive отсутствует" в Wordpress?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Уверены, что WP использует именно этот РНР? В системе может быть установлено много разного - и не факт, что модуль и конфиги от того, что использует сайт. Чтобы это проверить, можете, например, использовать файл с phpinfo().
    Ответ написан
    8 комментариев
  • Как лучше взять данные из большого файла по ключу не перебирая строки?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Странное желание - отказаться от механизма, предназначенного для работы с данными, чтобы колхозить на коленке его замену.
    300000 строк в базе данных с правильным индексом никакой заметной нагрузки на сервер не создадут.
    Ответ написан
    Комментировать
  • Каким образом формируются имена файлов из набора букв и цифр?

    md5 или подобный хеш
    из плюсов, он позволит не хранить копии, если кто-то зальет картинку еще раз
    Ответ написан
    3 комментария
  • Как парсить сайт с авторизацией?

    @MagicMight
    no magic quotes
    Пройдите сначала авторизацию через запрос на форму авторизации с вашими данными
    А потом выбирайте - либо используете curl + cookiejar/cookiefile, либо парсите куки из хедеров ответа вручную и добавляете их к каждому следующему запросу

    upd. нет никакой разницы, локалхост это или нет. curl запрос - это запрос в роли клиента к серверу
    Ответ написан
    2 комментария