Ответы пользователя по тегу Базы данных
  • С помощью чего сделать web админку для базы данных?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    Опыта в web разработки особо нет, в какую сторону смотреть?
    В сторону учебника по веб-разработке, в первую очередь.

    Вроде Yii позволяет просто админки делать? Может есть еще какие-то фреймворки? Что порекомендуете?
    Практически любой более ли менее полноценный фреймворк позволяет "просто" или "по быстрому" делать админки. В т.ч. Yii, Laravel, Symfony, Django (Python) и многие другие.

    А ещё есть "совсем готовые" решения, типа такого. Для Laravel, например есть вот такой вариант.
    Ответ написан
  • Как проверить, существует ли виртуальная таблица?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Можно ли сделать проверку перед удалением?
    Оно? Я конкретно вот про этот пример:
    DROP VIEW [IF EXISTS]
        view_name [, view_name] ...
        [RESTRICT | CASCADE]


    А точнее конкретно про вот эту директиву: IF EXISTS
    Ответ написан
  • Что выбрать: ДБ как сервис или бэкенд как сервис?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Чтобы не тратить время на изучение тонкостей настройки пришла идея не настраивать свою БД на сервере, а взять готовую услугу с саппортом, мониторингом и другими плюшками.
    Что бы не тратить время на изучение тонкостей настройки БД - гораздо практичнее было бы нанять фрилансера, при руках из нужного места, соотв. квалификации и специализации, за час - он целый кластер настроил бы.

    Но возможно есть совсем BaaS-решение которое будет ещё проще в работе и по максимуму снимет с нас сейчас задачи по настройке и поддержке.
    По моему, примерно/почти у всех "облачных" сервисов есть услуги формата SaaS/"BaaS", например, вариация от гугла, от амазона, майкрософта (снизу есть ссылки на другие БД) и так далее...

    Но, я всё равно решительно не понимаю, какие задачи Вы хотите снять с себя? Задачи уровня apt install mysql-server ? Или задачи правки конфига? Если эти задачи - разовой услуги на час, думаю будет более чем достаточно (писал выше).

    Задачи "сервер с БД упал / случился дисконнект" - решается на уровне выбора хорошего хостера VPS/Dedic (либо хорошего канала связи, собственного сервера и личного/удаленного/аутсорсного/наёмного/etc сис. админа). А "облака" в теории - вообще не "падают".

    Задачи уровня "мы не умеем проектировать БД и нормальной с ней работать, по этому всё тормозит и падает" - тоже довольно легко решаются привлечением в команду опытного тимлида укомплектованного набором нагаек и пряников.
    Ответ написан
    2 комментария
  • Какую бд лучше выбрать для создания rest api?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    то половина статей как сделать связку node + meteor + mongobd
    На самом деле, всё довольно просто. Node, meteor, MongoDB и т.п. объединяет один очень важный факт, под названием "JavaScript". А авторов подобных статей объединяет некая "любовь" к этому факту.
    Ответ написан
    Комментировать
  • На чем релизовать задуманное?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Какую базу данных можно использовать локально без установки и чтобы можно было перенести на другой компьютер
    Как уже озвучил предыдущий оратор - SQLite и ещё можно Firebird embedded юзать.

    Драйверы для работы и с Firebird и с SQLite, более чем уверен - есть и в Java в т.ч.
    Ответ написан
    Комментировать
  • Почему не сходится число уникальных записей в mysql?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Судя по Вашей картинке, а так же вопросу, подозреваю, что дело может быть в PHPMyAdmin'е, либо в тех, кто его локализовывал (переводил на русский).

    Мой Вам совет - выкиньте PHPMyAdmin, он отлично годится, что бы сохранять дамы небольших БД или загружать их обратно в условиях хостинга. Для MySQL есть масса отличных программ:
    1. HeidiSQL
    2. MySQL Workbench
    3. Navicat
    и т.д.

    возьмите любую из них и забудьте о подобных проблемах

    P.S. Подозреваю, что в той колонке (с заголовком "Кол-во уникальных элементов") указывается на самом деле не кол-во уникальных элементов а приблизительное кол-во записей в таблице, возможно результат генерирует какая-то из этих команд: эта или эта. Если Вы хотите в точности получить ответ на этот вопрос (что там за цифра и откуда она) - нужно включить логирование в MySQL всех запросов и посмотреть, какие запросы выполняются во время открытия конкретно этой страницы... найти нужный и т.д. Но я бы не стал тратить время на такую ерунду.
    Ответ написан
    6 комментариев
  • База данных для хранения больших данных?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Какую базу данных выбрать ? Подойдет ли MySQL для этих задач?
    При наличии должного опыта работы с ней, навыков правильного проектирования БД и полного понимания, зачем делать "именно так" и "почему не иначе?", думаю вполне подойдёт. А вообще, обычно базы оценивают не количеством записей в 1-ой (одной) таблице, а общим объёмом данных (в гига/пета- байтах) и некоторыми другими параметрами.

    - поиск - есть ли запись в базе данных с указанным названием, если есть то обновляем данные там. Т.е. перед тем как добавить запись (а их напомню - вначале будет 5-40 млн и будут постоянно возрастать) будет проверять есть она в базе данных и добавлять/обновлять данные.
    Для этого есть индексы, во всех известных мне базах. Предположительно - стандартный B-tree индекс, работает он во всех базах примерно одинаково.

    На базу данных будут примерно такие нагрузки:
    Нагрузки у Вас будут на железо а не на базу, если оно выдержит - то с точки зрения БД - логических проблем для хранения 40млн. записей - я не вижу.

    Хочу узнать какими способами можно организовать структуру хранения большой информации ?
    "Большой инфомрации" или больших объёмов данных? 40млн. записей - это совершенно не обязательно большой объём. Например индекс по числовому (INT) полю для 40млн. записей будет занимать всего несколько мегабайт. Для хранения именно "большой информации" - можете взять, например, PostgreSQL, там есть готовый механизм, TOAST, предназначенный специально для этого, или спроектировать базу MySQL таким образом, что бы нужные данные лежали отдельно от всякого "информационного мусора" ("хвостов"), это позволит сократить размер отдельной таблицы на диске и как следствие - повысить скорость работы с ней.
    Ответ написан
  • Как связать кнопку "вступить в группу" и БД?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    пользователю, нажавшему эту кнопку, занести запись в БД?
    Что, простите? Занести пользователю запись в БД?

    Вообще, у "Вконтакта" есть CallBack API, уведомляющий Ваш сервер о некоторых событиях (со списком которых Вы можете ознакомиться по ссылке выше), в результате наступления которых (событий) Вы можете добавить нужную запись в БД или
    пользователю, нажавшему эту кнопку, занести запись в БД
    или сделать что-то ещё в таком духе.
    Ответ написан
    Комментировать
  • Можно ли использовать текстовые предложения как идентификатор в базе?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Можно ли использовать текстовые предложения как идентификатор в базе?
    Удалять запись/строку/документ не по ID, а по значению одного из полей (Вы же это спрашиваете?) - вполне себе можно и иногда даже нужно. Другой вопрос, что ID - это уникальная запись, однозначно идентифицирующая некоторую строку/запись/документ, как в MongoDB, так и в SQL-базах. Иначе говоря, при удалении по ID Вы однозначно удаляете конкретную запись, в случае же удаления по какому-то иному параметру, данный параметр может совпадать с другой записью/документом, и далеко не факт, что Вы удалите то, что хотели.

    В Mongo есть длинные _id из случайных символов с автоматической генерацией, но я не хочу их использовать для этих целей
    Вы главное саму логику генерации и положения ID не трогайте, она ещё не однократно может пригодится в будущем, а удалять записи/документы, при желании, можете по любому из удобных для Вас полей. Можете например, добавлять к документу собственное поле с именем "id", вписывать туда что Вам угодно/удобно, и идентифицировать и удалять документы по этому полю.
    Ответ написан
    3 комментария
  • Как связанны backend+RESTful API+Базы данных?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Как связанны backend+RESTful API+Базы данных?

    Самый просто пример - это браузер, в роли клиента. И [*любой_язык*] в роли REST-сервера. Сервер при этом, может взаимодействовать с базой данных, для генерации ответов на запросы клиента.

    Но приложения на андроид пишутся на Java.
    Не только на Java... Но, это не имеет значения как такового, на чем они пишутся на клиенте.

    Получается, что если за основу сайта я взял Django, то и на мобильном приложении будет основа Django
    На мобильном приложении, с вероятностью 99% будет клиент. На чем он будет написан - значения не имеет особого, но Django в андроиде - очень вряд ли.

    Какую роль играет при этом сервер?
    Роль сервера, судя по всему.

    И да, последний вопрос: какие темы/аспекты нужно выучить, чтоб разбираться в этом?
    Конкретно про REST - я привёл Вам ссылку выше. Так же рекомендую ознакомиться со спецификацией на HTTP-протокол, полезно и в качестве примера для Вашего вопроса и вообще в целом.
    Ответ написан
    Комментировать
  • Вопрос к опытным админам. Где набраться достаточно опыта в кратчайшие сроки?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    С учётом того, что по Postgres'у я уже не первый год возвращаюсь к чтению его документации - думаю, что "самоучителя" вменяемого, вряд ли найти удастся. Или это будет книга просто феерического объёма.

    По MySQL - в своё время мне понравилась книга, автор (или соавтор) которой является некто "Кузнецов". Неплохая довольно книга была, на мой взгляд. Но, тут стоит сделать поправку - что это книга скорее про SQL-возможности базы, нежели про её глубокий анализ, тонкую настройку и т.д.

    Общая теория реляционных БД - на эту тему, я думаю, Вы без проблем книги найдете.

    Телефония - вообще плохо знаком с темой и особо не интересовался, пропущу.

    Администрирование Linux - очень мало вероятно, что Вы найдете что-то полноценное. Во первых, по тому, что эта тема тянет за собой целую цепочку буквально всего, от сети и сетевых протоколов заканчивая механизмами ядра. Linux - это не только несколько штук/десятков/сотен/... команд в командной строке, это буквально всё, от установки софта и настройки веб-сервера до леший ещё знает чего. Вы легко найдете интересующий по какой-то конкретной теме, например, по работе с командной строкой, или по настройке того же веб-сервера, или по настройке iptables например. Но с учётом того, что по одному только iptables уже написана не одна книга (это же относится к командной строке, текстовому редактору vi и т.д., по всем этим темам есть как минимум одна книга посвященная только ей), представьте себе объём информации по теме "администрирование".
    Ответ написан
  • Как лучше хранить данные о трафике в БД?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    Подскажите, как лучше хранить все это дело в базе? Я думал хранить в одной величине, например, в байтах, но что-то слишком большие цифры получаются.
    Если эти числа не выходят за максимальный допустимый размер (диапазон), например 9223372036854775807 - знаковое, 18446744073709551615 - без знаковое BIGINT, то скорее всего, ничего лучше, для хранения чисел (чем специальный тип БД, предназначенный для хранения именно чисел) - Вы не найдете.

    P.S. Если нужна точность до байт - хранить нужно в байтах. Если до мегабайт - соотв. округлять значения и хранить в мегабайтах. Т.е., в зависимости от необходимой точности можно выбрать конечную величину. Обработка больших цифр (целочисленных) - для компьютера не есть проблема, числа обрабатываются в ряде случаев, лучше чем например, текст.
    Ответ написан
    1 комментарий
  • Работа с файлообмениками и какую CMS использовать?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    3. Какую CMS лучше использовать для такого типа сайта, либо лучше писать такой сайт с нуля?
    С нуля всегда лучше, но не всегда лучше получается и как следствие - не всегда надо.

    2. Возможно ли делать связку сайта с файлообменника без перенаправления что бы пользователя не кидало на сайт файлообменника и он могу получить файл с моего сайта.
    Возможно, но редко. Среди прочего, такие файлообменники обычно ограничивают кол-во скачиваний файла или объёма информации. Вы не хотите платить за свои же файлы, но при этом хотите, что бы файловые хостинги занимались благотворительностью... это странно :)

    1. Какой файлообменник лучше выбрать
    Например, Amazon S3, там есть бесплатные ресурсы (эдакое "демо"). И в целом не дорого... или, воспользоваться советом предыдущего оратора :)
    Ответ написан
    4 комментария
  • Какие технологии использовать для реализации сервиса предоставляющего API?

    Wolfnsex
    @Wolfnsex Куратор тега Веб-разработка
    Если не хочешь быть первым - не вставай в очередь!
    А что Вы ожидаете услышать? В АПИ много кто чувствует себя хорошо, и нода и ПХП и даже С++. Наговнокодить можно на чём угодно, заставить проект работать очень быстро - можно и на ПХП. К тому же, большая часть нагрузки, как мне видится - ляжет на БД, а её проектирование и настройка, особенно это относится к Postgres - это целая наука. Я пока не очень представляю, как NodeJS будет держать такое кол-во пользователей (скорее всего от того, что я не очень хорошо знаком с NodeJS), но случаев когда она с треском падала - в истории достаточно.

    Что думаете по этому поводу?
    Я думаю, что Вы предоставили слишком мало входных данных и конкретики. Так как, например, даже горячо любимый мной Postgres - в ряде случаев, далеко не лучший выбор. А посоветовать пихать "Базу N" везде, где только можно и нельзя, не понимая всей сути проекта, могут только те, кто с другой базой не работал, и считает, что единственная технология с которой он знаком - лучшая из всех возможных. Посему, в виду скудности входных параметров, ответ на Ваш вопрос будет, либо таким же размазанным как мой, либо чем-то из серии "Юзайте NodeJS+MySQL, мой блог с посещаемостью 30 чел./месяц, вот уже 4-ый год как стабильно работает в такой связке! И ещё на WindowsServer всё это установить не забудьте! Лучшее сочетание из возможных."
    Ответ написан
  • Как обрезать текст сохраняя целостность html кода?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    1 вариант на мой взгляд просто ужасен, так как нам придется вызывать функцию очистки при каждой попытке отобразить статью.

    Зачем? Можно же в базе хранить в базе уже обрезанный текст, в дополнительном поле (если стандартное не устраивает).

    *Не понимаю, чего все так бояться добавить немного "лишних" (дополнительных) данных в БД... у Вас там гигбайты текста хранить нужно, а база работает на процессоре от калькулятора?

    При надобности обрезании подобного текста есть большой риск нарушить целостность html-кода.

    Не совсем понятно, что значит "риск нарушить целостность кода"? Нужно из кода что ли текст вырезать? Для этого есть другие инструменты, работающие с DOM-разметкой, они позволяют изменить HTML-элементы и их содержимое без нарушения целостности, какой-нибудь phpQuery например (а ещё Symfony Dom Crawler, Simple HTML DOM и т.д.), если принципиально хочется извращаться над HTML-кодом...

    P.S. Для HTML-редакторов, не редко случается такое, что либо пользователь навставлял какой-нибудь ерунды в код, либо сам редактор хорошенько в код нагадил... По этому, я бы всё-таки не снимал со счетов технологию "Хранение нормализованных данных вместе с оригинальными" (о которой я писал выше). Вернее будет сказать, "Хранение оригинальных данных рядом с нормализованными", если по какой-то причине они всё-таки нужны...
    Ответ написан
    Комментировать
  • Какие различия синтаксиса SQL-запросов MySQL от Firebird?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Я точно не помню уже, давно с FB работал... Но, из всех известных мне SQL-БД -- MySQL единственная база, из тех, что изобрели "Свой SQL с блекджеком и... своим форматом LIMIT'а".

    Вот, нашел цитату, касательно FireBird 1.5:
    Firebird полностью поддерживает SQL-92 Entry Level 1 и реализует большую часть стандарта SQL-99 c некоторыми очень полезными дополнениями. Это включает выражения DML/DDL, синтаксис объединений FULL/LEFT/RIGHT [OUTER] JOIN, выражения UNION, DISTINCT, подзапросы (IN, EXISTS), встроенные функции (AVG, SUM, MIN, MAX, COALESCE, CASE, ..), ограничения целостности (PRIMARY KEY, UNIQUE, FOREIGN KEY), и все общие типы данных SQL.


    Следуя выше написанному, и тому, что Postgres так же реализует большую часть этих стандартов, запросы должны работать и в FireBird и в Postgres, практически без изменений. Кроме того, насколько я помню, в FireBird (по крайней мере так было в версиях 1.5 и 2.х) так же как и в Postgres используются "последовательности", вместо MySQL'евского AUTOINCREMENT'а.

    Подводя итог, хочу сказать, что Вам нужно искать не то, чем синтаксис FireBird'а отличается от MySQL'евского, а то, чем MySQL'евский-SQL отличается от стандартов SQL.

    своеобразный LIMIT
    -- LIMIT/OFFSET? Если Вы про него, то это не "своеобразный" LIMIT, это LIMIT в соответствии со стандартами, LIMIT через запятую - это изобретение авторов MySQL'я.
    Ответ написан