Объявление

Collapse
No announcement yet.

Поругайте мой проект www.LiveDoco.com

Collapse
X
 
  • Filter
  • Время
  • Show
Clear All
new posts

  • Поругайте мой проект www.LiveDoco.com

    В рамках изучения ASP.NET MVC JQuery и прочих веб дел я написал IIS Web App для разработчиков БД (ну и DBA в меньшей степени) которая позволяет комфортно (по крайней мере на мой взгляд) просматривать структуру БД MS SQL Server, искать по подстроке в названиях обьектов БД (таблицы, колонки, функции итд) и описаниях которые хранятся в Extended Properties (MS_Description - так принято у MS) Foreign Keys показываются как ссылки по которым можно переходить. Так же можно эти описания редактировать а так же экспортировать в SQL скрипт чтобы можно было загрузить в БД с аналогичной структурой. Так же структуру БД можно выгружать в XML или произвольный текст если не лень самим писать шаблон выгрузки (типа плагин).

    LiveDoco уникальна тем что она не генерит всю документацию сразу как это делают другие аналогичные программы, а просто рендерит(кстати весьма резво) странички прямо из INFORMATION_SCHEMA и прочих системных вьюшек и таблиц. В том числе и комменты которые как я уже говорил хранятся в виде стандартных Extended Properties и поэтому LiveDoco совместима с любыми другими программами геренящими документацию (for offline use for instance).

    Сайт программы: LiveDoco - LiveDoco - your database IS your documentation!
    Там даже есть онлайн дема : LiveDoco - Online Demo

    Я его недавно стал раскручивать через Google AdWords но пока что выхлопа особо нет, с форума GDay.ru зашло больше людей чем с гугла , хотя я тут(http://www.gday.ru/forum/%F4%EE%F0%F...%E5%EC%FB.html) просто упомянул его в связи с пайпалом.

    Поругайте люди добрые мое творение или сайт, или цены, или просто выскажите свое мнение...
    Last edited by Z1024; 07.03.2012, 05:38.
    LiveDoco - Live SQL Server database structure explorer and documentation tool

  • #2
    Обшие замечания
    1. Самое главное, неясна цель приложения. Каждый разработчик MSSQL имеет бесплатную Менеджмент Студию гораздо более функциональную и наглядную. Покупать веб систему только для добавления комментариев к таблицам/полям? Смысл?
    2. Кто таргет аудитория? Не думаю, что много разработчиков найдется, кому такой тул нужен позарез.
    3. "your database IS your documentation!" это очень плохо! Например, некоторые ETL процессы грохают таблицу и затем пересоздают ее, т.к. это часто более эффективно, чем delete/insert. А с таблицей ушла и вся "документация"
    Для документирования баз есть специализированные системы, где простым добавлением комментариев дело не обходится. Сам такую спроектировал и написал полтора года тому
    4. Нет поддержки других DB
    5. Ценовая модель странная. Что такое "number of simultaneous connections"? Соединение кого с чем? Кол-во IIS сессий или кол-во параллельно исполняемых запросов? Если последнее, то одновременное использование системы 1000-й человек даст нe более 10 параллельно вып. запросов.
    Я бы разделил на 3 типа лицензии - персональная (не-коммерческое использование), до 10 юзреов и неогр. кол-во юзеров.

    Теперь по фичам
    1. Почему-то нет схем в именах таблиц
    2. Если уж делать ДБ эксплорер в виде дерева, то делать до конца похожим на привычный эксплорер из Менеджмент Студии: для таблиц добавить контейнеры полей, индексов и т.д.
    3. SQL код генерируется не для всех обьектов
    4. В заголовке не указан тип обьекта. Надо догадываться самому по имени или по картинке
    5. Непонятно ограничение работы только с одной базой данных. Почему бы не показать все базы на выбранном сервере.

    Там еше много чего, но писать лень

    Мой пригивиор - на данном этапе польза от такой системы минимальна. Веб аппликация, выполняюшая функции десктопной аппликухи - гемора по установке много (веб сервер), пользы почти 0
    Годится как задел к более серьезной системе.

    Comment


    • #3
      я так подозреваю что автор сделал подобие PhpMyAdmin/phppostgresadmin

      Идея хорошо потому что иногда нет возможности дергать Management студию удаленно. А эту захостил и проблем нету.

      Фичи не смотрел ибо времени не было.

      Купил бы я? Купил бы баксов за 5.

      2Andrej эта фишка нужна, когда надо чтото в базе экстренно поправить удаленно. Доступа по RDP и 1435 порту MS SQL нет. Как ты будешь экстренно в базу влазить, а?
      advertise with us.

      Comment


      • #4
        Сообщение от RomZes Посмотреть сообщение

        2Andrej эта фишка нужна, когда надо чтото в базе экстренно поправить удаленно. Доступа по RDP и 1435 порту MS SQL нет. Как ты будешь экстренно в базу влазить, а?
        Видно, что фичи не смотрел. Все что можно подправить - комментарии к таблицам и полям.
        Про экстренно подправить удаленно. Если мы говори про хостинг провайдер, то web редактор базы есть у всех. Если говорим про местные конторы, то базу выставлять голой ж в интернет надо быть очень талантливым
        Я ж говорю, сделать веб версию менеджмент студии может и имело бы смысл, а то ка сейчас имхо, бесполезный продукт.

        Comment


        • #5
          Свежий взгляд со стороны весьма полезен, спасибо господа за Ваши мнения.

          Андрей,

          Да Вы правы, в плане обьяснения что это и с чем его едят - надо будет написать пару параграфов на сайте что бы донести до посетителей основную цель приложения.

          Касательно пунктов 1 и 2:
          Мысль такова:
          SQL Sever Management Studio (SSMS) конечно весьма удобна и многофункциональна, но не по части изучения (новой для дева/дба) схемы БД или быстрого поиска какого нибудь обьекта (таблицы, колонки, параметра и т.д.). В SSMS нету возможности увидеть сразу всю эту информацию скажем по колонкам таблицы в 1м месте не делая слишком много кликов.

          Существует куча продуктов для генерации документации БД в форматах HTML, CHM, Word и т.д. Cамые известные это Red-Gate SQL Doc: SQL Doc - documentation tool for SQL Server databases, SQL schema documentation, SQL dependencies documentation и ApexSQL Doc Document SQL Server databases and SSIS packages | ApexSQL Doc есть и другие которые поддерживают Oracle и другие БД.

          Однако у них у всех есть некоторые минусы:
          1) Документацию надо кому то генерить - т.е. кто то должен регулярно тратить на это свое время.
          2) Как только документация сгенерирована - менять ее уже бессмысленно - это фактически Read only контент.
          3) Для того чтобы более менее удобно редактировать описания обьектов - нужно иметь или один из этих продуктов(а они довольно дороги $150-300 за 1 лицензию) или какую нибудь бесплатную программу для этих целей (такие тоже есть)
          4) Поиск в такой документации практически всегда будет просто поиском подстроки в слабоструктурированном тексте.

          LiveDoco как раз и адресует эти минусы.
          Описания обьектов генерятся на лету по мере надобности, подключаться можно к любой БД в сети (если есть привелегии, естественно) Любые изменения в структуре БД или описаниях видны практически сразу (максимум надо сделать F5).
          Далее, не знаю как вы, а я за последние годы привык читать документацию в браузере, иметь возможность поиска и кидать коллегам ссылки в емайлах. LiveDoco органично вписывается в эту модель (даже кнопка Back работает корректно хоть и сплошной AJAX там везде). Это Ваш "персональный MSDN + Wiki" к вашей БД.
          Если установить ее в интранете и настроить Windows Authentication к основным девелоперским серверам (хотябы read only доступ) - можно смело кидать ссылки из LiveDoco коллегам.
          Редактировать описания может любой дев или дба c любой машины в сети - админам надо только 1 раз установить LiveDoco на IIS.

          Касательно п3: Такие временные таблицы обычно не содержат реальных данных поэтому невозможность их комментирования есть небольшая потеря. Если же их все очень хочется задокументировать и не потерять изменения - можно добавить описания и выгрузить их в SQL скрипт (LiveDoco позволяет это сделать селективно для определенных таблиц и (под)множества Extended Properties).

          п4 -может появится, если SQL server версия пойдет

          п5 - "number of simultaneous connections" - да именно, HTTP сессии в текущей реализации. В идеале я хочу сделать 1 connection = 1 active user т.е. чтобы с 1го компьютера можно было открыть хоть сотню окон. Сейчас каждая новая сессия занимает подключение. К IP адресу не могу привязываться потому что это легко использовать для обхода ограничения - пустить хоть 100 чел через proxy или NAT. И сильно полировать хром было лень не зная точно поедет машинка вообще или нет

          По фичам:

          1. Схемы есть (dbo, Person, Sales и т.д). Отделены точками

          2. Мне не нравится дерево из SSMS - слишком много кликов чтобы выковырять нужную инфу. Щелкнув на таблицу в LiveDoco Вы получите ту же инфу на 1й странице которую надо просто промотать (и то не всегда - для больших дисплеев и маленьких таблиц). К тому же ненужные секции можно свернуть (как в MSDN) и иметь сразу всю нужную инфу на экране.

          3. SQL код генерится только там где он нужен для понимания логики БД (views, functions, calculated columns, triggers, check constraints etc). CREATE TABLE очень легко получается в SMSS а я не хотел дублировать функционал бесплатной SMSS.

          4. Хорошее замечание проблема в том что тип обьекта не всегда 1 короткое слово а я не хотел перегружать интерфейс и загромождать страницу. Иконка казалась хорошим выходом. Но почитав Ваш коммент я еще добавил hint к иконке - таким образом если новому пользователю непонятно что это за обьект - можно просто подвести курсор, а для постоянных пользователей иконка достаточно информативна.

          5. Я и сам уже об этом задумывался. Пока добавил выбор БД на тулбаре. Дальше полировать хром в этом направлении пока что не стал

          RomZes,
          Ну это не совсем то, я думаю рынок для web-app версии SSMS все же узковат а усилия непропроционально высоки.
          LiveDoco - Live SQL Server database structure explorer and documentation tool

          Comment


          • #6
            Короче основная цель LiveDoco - легкая и удобная навигация и поиск по метаданным БД а так же легкое редактирование описаний (и поиск в них же). Там внизу есть списки зависимых и зависящих обьектов, а так же в каждой колонке входящей в PK на которой имеются FK в других таблицах будет полный список этих самых ссылающихся колонок в виде гиперссылок. При клике на нее (а так же на любую ссылку на подобьект - колонку таблицы или view, параметр процедуры, триггер итд) LiveDoco не просто переходит на нужную страницу, но и проматывает страницу к этому самому подобьекту и подсвечивает его на секунду чтобы привлечь внимание и сэкономить секунды на поиск глазами. Таким образом можно быстренько перейти по FK ссылке, поглядеть что там и тут же вернуться назад кнопкой Back. В малознакомых БД очень помогает. Сам пользуюсь постоянно
            LiveDoco - Live SQL Server database structure explorer and documentation tool

            Comment


            • #7
              Сообщение от Z1024 Посмотреть сообщение
              Касательно пунктов 1 и 2:
              Мысль такова:
              SQL Sever Management Studio (SSMS) конечно весьма удобна и многофункциональна, но не по части изучения (новой для дева/дба) схемы БД или быстрого поиска какого нибудь обьекта (таблицы, колонки, параметра и т.д.). В SSMS нету возможности увидеть сразу всю эту информацию скажем по колонкам таблицы в 1м месте не делая слишком много кликов.
              В ССМС есть все что надо - можно построить диаграмму, увидеть все связи и тд. Есть фильтр(хоть он мне и не нра). Если уж хочется поиск, то проше было б написать адд-ин к ССМС.


              Сообщение от Z1024 Посмотреть сообщение
              Однако у них у всех есть некоторые минусы:
              ...
              LiveDoco как раз и адресует эти минусы.
              Описания обьектов генерятся на лету по мере надобности, подключаться можно к любой БД в сети (если есть привелегии, естественно) Любые изменения в структуре БД или описаниях видны практически сразу (максимум надо сделать F5).
              Далее, не знаю как вы, а я за последние годы привык читать документацию в браузере, иметь возможность поиска и кидать коллегам ссылки в емайлах. LiveDoco органично вписывается в эту модель (даже кнопка Back работает корректно хоть и сплошной AJAX там везде). Это Ваш "персональный MSDN + Wiki" к вашей БД.
              Если установить ее в интранете и настроить Windows Authentication к основным девелоперским серверам (хотябы read only доступ) - можно смело кидать ссылки из LiveDoco коллегам.
              Редактировать описания может любой дев или дба c любой машины в сети - админам надо только 1 раз установить LiveDoco на IIS.
              Последние 10 лет занимаюсь базами на десятки тысяч таблиц. Для таких задач как ты описываешь используются совсем другие системы, которые позволяют ка минимум:
              * Хранить/отображать кроме технической, еше массу другой информации
              * Вести аудирование изменений
              * Version control
              * Check-in/check-out
              * Многое другоe

              Сообщение от Z1024 Посмотреть сообщение
              Касательно п3: Такие временные таблицы обычно не содержат реальных данных поэтому невозможность их комментирования есть небольшая потеря.
              Абсолютно неверно

              Сообщение от Z1024 Посмотреть сообщение
              Если же их все очень хочется задокументировать и не потерять изменения - можно добавить описания и выгрузить их в SQL скрипт (LiveDoco позволяет это сделать селективно для определенных таблиц и (под)множества Extended Properties).
              Гемор

              Сообщение от Z1024 Посмотреть сообщение
              п5 - "number of simultaneous connections" - да именно, HTTP сессии в текущей реализации. В идеале я хочу сделать 1 connection = 1 active user т.е. чтобы с 1го компьютера можно было открыть хоть сотню окон. Сейчас каждая новая сессия занимает подключение. К IP адресу не могу привязываться потому что это легко использовать для обхода ограничения - пустить хоть 100 чел через proxy или NAT. И сильно полировать хром было лень не зная точно поедет машинка вообще или нет
              Ну, тоесть если я открыл страничку на одном десктопе, потом пересел на соседний десктоп и уже не могу открыть сайт пока моя предыдушая сессия не отвалится по таймауту? Ситуация кстати, не выдуманная.
              Как потенциальный клиент может пощхитать потенциальное количество сессий? Честно говоря, первый раз такое вижу. Почему бы не лицензировать по кол-ву юзеров? Я понимаю, что в данной рэлизации трудно enforce условия лицензии, но тут компании покупают по-честному.

              Сообщение от Z1024 Посмотреть сообщение
              По фичам:

              1. Схемы есть (dbo, Person, Sales и т.д). Отделены точками
              Да, действительно, проглядел. Неплохо было б хоть другим цветом их нарисовать

              Comment


              • #8
                Сообщение от Andrej Посмотреть сообщение
                В ССМС есть все что надо - можно построить диаграмму, увидеть все связи и тд. Есть фильтр(хоть он мне и не нра). Если уж хочется поиск, то проше было б написать адд-ин к ССМС.
                Диаграмма это нечто другое, это сильно высокий уровень - там мало деталей. А чтобы эти детали наковырять - приходится лезть в дебри SSMS. А тут все как на ладони, с комментами, сразу в 1м месте.

                Поиск аддин уже есть Search for SQL in your databases with Red Gate SQL Search кстате бесплатный. Но когда щелкаешь в таблице результата он на сколько я помню просто выбирает обьект в дереве и все.

                Сообщение от Andrej Посмотреть сообщение
                Последние 10 лет занимаюсь базами на десятки тысяч таблиц. Для таких задач как ты описываешь используются совсем другие системы, которые позволяют ка минимум:
                * Хранить/отображать кроме технической, еше массу другой информации
                * Вести аудирование изменений
                * Version control
                * Check-in/check-out
                * Многое другоe
                Конкретные названия таких систем для SQL Server?

                Ну я бы не сказал что база на десятки тысяч таблиц является типичной. Далее, далеко не в каждой конторе этот процесс поставлен на столько строго, и даже в тех конторах где поставлен (крупных) бывают переферийные задачи где городить полновесный процесс нецелесообразно по бюджету. Есть конторы (не большие, но вполне успешные как ни странно) где вообще нет актуальной документации по их БД, потому что девам лень или некогда ее обновлять в каком то Word документе который уже давным давно устарел. Я даже успел поработать в такой.
                Так же далеко не везде есть Version Control для БД. Для кода есть а для БД - нет...

                В любом случае, наличие генераторов документации с номерами версий больше 1.0 существующих уже минимум несколько лет и все это время активно продающихся наталкивает на мысль что какая то ниша все же существует.

                Сообщение от Andrej Посмотреть сообщение
                Ну, тоесть если я открыл страничку на одном десктопе, потом пересел на соседний десктоп и уже не могу открыть сайт пока моя предыдушая сессия не отвалится по таймауту? Ситуация кстати, не выдуманная.
                Как потенциальный клиент может пощхитать потенциальное количество сессий? Честно говоря, первый раз такое вижу. Почему бы не лицензировать по кол-ву юзеров? Я понимаю, что в данной рэлизации трудно enforce условия лицензии, но тут компании покупают по-честному.
                Нет, не так. Убьется самая старая сессия, вернее так которая дольше всех не использовалась (LRU). Если ей еще кто то пользовался - при следующей попытке что нибудь открыть - перейдет на логин страницу и там покажет ошибку что превышен лимит лицензий. Как только этот юзер перезайдет - выкинет другую самую старую сессию на этот момент. В среднем если число подключений больше числа активных юзеров - все будет нормально.


                Сообщение от Andrej Посмотреть сообщение
                Да, действительно, проглядел. Неплохо было б хоть другим цветом их нарисовать
                неплохо бы, в принципе нетрудно, наверное сделаю на днях )
                LiveDoco - Live SQL Server database structure explorer and documentation tool

                Comment


                • #9
                  Подробно не читала, так что может не все уловила, но хочу сказать что идея web-based управления SQL Server базами данных конечно не нова. Например продукты Idera, или австралийской компании Rock Solid. Но идея неплохая, если ее развить. Я удивляюсь почему Microsoft до сих пор не выпустила что то типа оракловского Enterprise Manager. SSMS, являясь десктоп аппликейшн, все же в каком то плане ограничена. Даже если зарегистрируешь в ней все нужные тебе sql сервера, ты привязан к одному компьютеру, а это очень неудобно. Если работают несколько ДБА каждому нужно устанавливать и настраивать свою SSMS. Можно конечно экспортировать/импортировать список серверов, но любые последующие добавления - опять вручную, в каждой SSMS. Установить одну SSMS на сервере и всем к ней подключаться тоже не лучший вариант.
                  Красота - это страшная сила. И чем дальше, тем страшнее.

                  Comment


                  • #10
                    Я что то подобное лет 8 назад делала для MySQL в рамках дипломного проекта/практики
                    Красота - это страшная сила. И чем дальше, тем страшнее.

                    Comment


                    • #11
                      Не, ну дело то хозяйское. Я в маленьких конторах не работал, так что как там и что не скажу. Может там и ниша.
                      Я против идеи документирования бд в самой бд из-за
                      1. При кол-ве енвайронментов >1 трудно/невозможно контролировать где самые новые данные
                      2. Все вендоры разные и способ самодокументирования поддерживается не всеми вендорами
                      3. Чтобы увидеть структуру базы надо иметь не просто доступ для чтения, а достаточно прав чтобы достучаться до спец свойств like mssql extended properties
                      Это надо БА-ям на проекте, бизнесу и т.д.
                      В системе, что я сделал анонимные изеры имели р/о доступ к системе, где они могли браузить, искать нужную метадату.
                      Я не спорю, аппликуха может и нужная и я желаю автору успехов в развитии бизнеса!

                      Comment


                      • #12
                        Сообщение от Andrej Посмотреть сообщение
                        Я в маленьких конторах не работал, так что как там и что не скажу.
                        Большому кораблю большое плавание
                        Красота - это страшная сила. И чем дальше, тем страшнее.

                        Comment


                        • #13
                          Сообщение от Nadejda Посмотреть сообщение
                          Большому кораблю большое плавание

                          Comment


                          • #14
                            Сообщение от Andrej Посмотреть сообщение
                            Не, ну дело то хозяйское. Я в маленьких конторах не работал, так что как там и что не скажу. Может там и ниша.
                            Я против идеи документирования бд в самой бд из-за
                            1. При кол-ве енвайронментов >1 трудно/невозможно контролировать где самые новые данные
                            У многих просто 1 Дев сервер на проект
                            Сообщение от Andrej Посмотреть сообщение
                            2. Все вендоры разные и способ самодокументирования поддерживается не всеми вендорами
                            Эт да, чтобы сделать тоже самое для Oracle там надо переписать почти весь слой доступа к БД и это в лучшем случае. К тому же я подозреваю ораклисты побрезгуют .NET приложением - скажут "фии, а что не Java???"
                            Сообщение от Andrej Посмотреть сообщение
                            3. Чтобы увидеть структуру базы надо иметь не просто доступ для чтения, а достаточно прав чтобы достучаться до спец свойств like mssql extended properties
                            Это надо БА-ям на проекте, бизнесу и т.д.
                            В системе, что я сделал анонимные изеры имели р/о доступ к системе, где они могли браузить, искать нужную метадату.
                            Аха, так и есть. B SQL сервере для read only access хватает db_datareader +
                            GRANT VIEW DEFINITION TO _USER_NAME
                            Сообщение от Andrej Посмотреть сообщение
                            Я не спорю, аппликуха может и нужная и я желаю автору успехов в развитии бизнеса!
                            Спасиба за пожелания и ценный анализ!
                            LiveDoco - Live SQL Server database structure explorer and documentation tool

                            Comment


                            • #15
                              Сообщение от Nadejda Посмотреть сообщение
                              Большому кораблю большое плавание
                              Ну да, регулярное общение с БД на десятки тыс таблиц... это тянет как минимум на авианосец
                              LiveDoco - Live SQL Server database structure explorer and documentation tool

                              Comment

                              Working...
                              X