Работа с несколькими БД



  • Сорри если повторяю топик.
    Например:
    Скрипт №1 работает с прокси и собирает их в БД №1.
    Скрипт №2 работает с отпечатаками, гретыми профилями и т.д. и собирает их в БД №2.
    ...
    Скрипт №X тоже несомненно делает что-то полезное и кладёт это в БД №X.

    Хотелось бы иметь возможность из одного скрипта обращаться ко всем БД, которые есть локально на машине (А совсем мечта - и удалённо на сервере!) и запрашивать из них данные. Сейчас приходится либо заливать все возможные сервисные данные в одну БД (Она становится гигантской и частично дублирует по списку таблиц БД других проектов), либо выводить БД в Эксельку (Скажем, список валидных проксей), и к каждому скрипту добавлять инициализацию, когда эта Экселька долго и мучительно читается в БД скрипта.



  • @AngelOfAncient вы используете для нескольких проектов 1 скрипт?
    (под каждый скрипт можно выделять 1 бд монго в бас)



  • @AngelOfAncient said in Работа с несколькими БД:

    Сорри если повторяю топик.
    Например:
    Скрипт №1 работает с прокси и собирает их в БД №1.
    Скрипт №2 работает с отпечатаками, гретыми профилями и т.д. и собирает их в БД №2.
    ...
    Скрипт №X тоже несомненно делает что-то полезное и кладёт это в БД №X.

    Хотелось бы иметь возможность из одного скрипта обращаться ко всем БД, которые есть локально на машине (А совсем мечта - и удалённо на сервере!) и запрашивать из них данные. Сейчас приходится либо заливать все возможные сервисные данные в одну БД (Она становится гигантской и частично дублирует по списку таблиц БД других проектов), либо выводить БД в Эксельку (Скажем, список валидных проксей), и к каждому скрипту добавлять инициализацию, когда эта Экселька долго и мучительно читается в БД скрипта.

    Не уверен на счёт удалённой базы (ни разу с ней не работал) а вот с локальной базой можно сделать что то подобное:

    Создайте скрипт с базой данных:

    <DataBase>
        <Table id="1" name="table1" description_en="table1" description_ru="table1">
            <Column id="2" name="str" description_en="str" description_ru="str" type="string"/>
        </Table>
    </DataBase>
    

    затем создайте второй скрипт с базой данных:

    <DataBase>
        <Table id="1" name="table1" description_en="table1" description_ru="table1">
            <Column id="2" name="str" description_en="str" description_ru="str" type="string"/>
        </Table>
        <Table id="3" name="table4" description_en="table4" description_ru="table4">
            <Column id="4" name="zz" description_en="zz" description_ru="zz" type="string"/>
        </Table>
    </DataBase>
    

    после создайте третий скрипт с базой данных:

    <DataBase>
        <Table id="1" name="table1" description_en="table1" description_ru="table1">
            <Column id="2" name="str" description_en="str" description_ru="str" type="string"/>
        </Table>
        <Table id="3" name="table5" description_en="table5" description_ru="table5">
            <Column id="4" name="qwe" description_en="qwe" description_ru="qwe" type="string"/>
        </Table>
    </DataBase>
    

    во всех трёх скриптах нужно выбрать один идентификатор базы

    314e6082-7acd-4440-81d3-55f351ac4d13-изображение.png

    В итоге у вас получится 3 разных скрипта с разными таблицами базы данных, но с одной общей таблицей для всех трёх скриптов.



  • Вот тестовые скрипты из примера выше, для тех кому лень :D

    931.xml
    932.xml
    933.xml



  • А зачем вам разные базы данных, просто используйте разные таблицы одной базы данных и все. Все скрипты подключайте к одной базе данных. Но данные кладите в разные таблицы. А читать можно все что угодно.



  • @Bigma said in Работа с несколькими БД:

    разные таблицы одной базы данных

    Бигма, у меня может быть база весом в 2-3 Гб каждая.
    И проекты очень разные могут быть.
    Но в них во всех будет, например, использоваться прокси.
    Как-то не экологично мешать "корося и порося", делая 100 скриптов в одной общей базе)

    Есть ощущение, что такая база будет работать хуже, скрипеть на поворотах, а если и грохнется - то вся целиком) Да и системный SSD не резиновый, а выносить отдельные папки BAS на другие диски через твёрдые ссылки я ещё не пробовал. А в штатных настройках папки для хранения кеша и бекапов ещё нет, как в Adobe))

    Например, у меня всё, что завязано с Vk - это одна большая БД.
    Но для Инсты, например, существует другая большая БД.
    Сливать их в одну - такое себе...



  • @Fox said in Работа с несколькими БД:

    Не уверен на счёт удалённой базы (ни разу с ней не работал)

    Покажите мне хоть одного живого человека на форуме, кто с ней успешно работал))
    Мы ему и памятник, и медаль, при жизни))

    @Fox said in Работа с несколькими БД:

    В итоге у вас получится 3 разных скрипта с разными таблицами базы данных, но с одной общей таблицей для всех трёх скриптов.

    Это по факту у нас получается одна большая БД, в которой скрипт не видит часть данных. Может быть это чуть более экологично, чем просто "Пихать все скрипты в одну громадную БД", как предложил коллега выше... Но в целом вопросы всё те же - насколько вообще нормально все скрипты на свете пихать в одну БД, в какой момент она навернётся и т.п. Могу сходу придумать момент, что скопировать такую БД копированием многотонной папки - уже будет не айс, потому что в ней будет лежать тонна не нужных именно этому проекту данных.

    Как костыль - да, не вопрос. Но это так можно и через Google Doc или локальный Excel обмениваться. А запрос в топикстартере - как раз иметь возможность в ресурс добавлять не одну БД, а несколько идентификаторов разных локальных БД.

    P.S. Кстати, поле "Расположение Базы Данных" - оно только для редактирования же? Если бы можно было там вставить свой путь к БД - тогда можно было бы на разных дисках хранить БД (В т.ч. смонтированных в систему удалённых облачных).



  • @AngelOfAncient said in Работа с несколькими БД:

    Покажите мне хоть одного живого человека на форуме, кто с ней успешно работал))
    Мы ему и памятник, и медаль, при жизни))

    Я пока жив и я работал xD



  • @UserTrue said in Работа с несколькими БД:

    Я пока жив и я работал xD

    Тогда не понимаю, как я ещё не спросил мудрое руководство великого и ужасного Тебя, как всё таки развернуть Манго на виртуалке или где-то на хосте, если ты не кулхацкер или не заканчивал ВМК))



  • @AngelOfAncient Я вам в другой теме уже писал.

    @AngelOfAncient инструкция по подключению удаленной монго рабочая, можете также воспользоваться инструкцией с доков самой монго. Но в любом случае это не даст вам защиты от прошареных юзеров ТК в бас нет возможности авторизации по паролю либо придется работать с БД через ноду или cli

    Вот дока на сайте монго
    Вот в вики БАС для ubuntu



  • @UserTrue said in Работа с несколькими БД:

    Вот в вики БАС для ubuntu

    Это всё равно не совсем для чайнкиков.

    Полагаю, там должны быть слова типа:

    • Идёте на Бегет, на Digital Ocean, в Amazon или ещё куда...
    • Устанавливаете там образ с Ubuntu
    • Далее по инструкции в BAS Wiki
    • Далее как получить заветный "Логин и Пароль" (Этого нет в BAS Wiki)

    Т.е. сейчас в BAS Wiki только один фрагмент без начала и конца (Не полный Tutorial), который среднестатистического пользователя BAS до результата не доведёт.



  • @AngelOfAncient said in Работа с несколькими БД:

    Т.е. сейчас в BAS Wiki только один фрагмент без начала и конца (Не полный Tutorial), который среднестатистического пользователя BAS до результата не доведёт.

    Тут либо придется развиваться либо довольствоваться тем, что есть.



  • @UserTrue said in Работа с несколькими БД:

    @AngelOfAncient said in Работа с несколькими БД:

    Т.е. сейчас в BAS Wiki только один фрагмент без начала и конца (Не полный Tutorial), который среднестатистического пользователя BAS до результата не доведёт.

    Тут либо придется развиваться либо довольствоваться тем, что есть.

    Продавай услуги по настройки удалённой базы для BAS :D



  • Как раз @UserTrue показывал как через ноду можно к любой локальной базе подключится.
    На сколько я понимаю это вам и нужно, просто в нужном моменте подключаетесь к нужной базы и берете данные. Все вопросы к нему.



  • @Bigma said in Работа с несколькими БД:

    как через ноду можно к любой локальной базе подключится.
    На сколько я понимаю это вам и нужно, просто в нужном моменте подключаетесь к нужной базы

    Да, именно так. Можете скинуть ссылку на топик, где он об этом рассказывал?
    Это конечно не отменяет запрос функционала к саппорту, но уже лучше, чем через внешние файлы инфу перекачивать)




Log in to reply