|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
Автор данной книги, Сергей Тарасов, может быть известен Вам по книге "Дефрагментация мозга. Софтостроение изнутри", которая была посвящена подходам, тенденциям и проблемам объектно-ориентированного программирования корпоративных информационных систем. Теперь же автор обратил внимание на такую актуальную тему, как работа с базами данных, и отразил свой опыт в книге "СУБД для программиста. Базы данных изнутри", что вполне закономерно: как написано во введении этого издания, по классическому определению Никлауса Вирта "программы – это алгоритмы плюс структуры данных". Вопросам организации данных и методам работы с ними и посвящена данная книга. Она является учебным пособием, объясняющим основные концепции современных СУБД, а так же содержит примеры задач, которые могут встретиться начинающему (и не только) программисту при работе с базами данных. Рассматриваемые задачи, как и в предыдущей книге автора, так же касаются по большей части корпоративных информационных систем. Плюсами книги является ее практическая направленность, а так же энциклопедичность: в ней уделяется внимание таким современным базам данных, как Microsoft SQL Server, Oracle, Firebird, PostgreSQL, MySQL а так же NoSQL и MongoDB. Так же рассматриваются модели организации данных с помощью широко используемой спецификации XML. Редко можно встретить книгу, где так отражена информация по различным БД, и, думаю, такой подход поможет в развитии у читателя навыков системного мышления. Книгу можно порекомендовать и как учебник для студентов специальностей в области информационных технологий - например, Тамбовский государственный технический университет предлагает ее в перечне основной рекомендуемой литературы для подготовки к государственному экзамену по модулю "Базы данных". Затрагиваемые в книге темы довольно широки. Описываются и базовые вопросы, такие как основные архитектуры и модели данных, используемые при проектировании приложений, нормальные формы и способы денормализации ("звезда"\"снежинка"), типы соединений таблиц, уровни чтения данных, блокировки. Разбираются и более продвинутые темы, такие как оптимизация запросов, организация модульного и нагрузочного тестирования приложений (unit testing\load testing), особенности использования NoSQL-СУБД, работа с XML и JSON, многомерные модели данных. Уделено внимание проектированию физического хранения данных, и организации системы хранения исходного кода. Отдельная глава посвящена объектной модели и объектно-реляционной проекции, которая часто используется при разработке Java приложений. В книге рассматриваются решения таких типовых задач, как реализация деревьев, работа с хронологическими данными, поддержка нескольких языков в приложении, аудит объектов, загрузка больших объемов данных, использование неполно структурированных данных в реляционных СУБД, и других. В зависимости от условий решаемой задачи, даются рекомендации в выборе той или иной технологии, показываются плюсы и минусы различных реализаций. Для большинства задач приведен исходный код на том или ином диалекте SQL. Справедливости ради стоит заметить, что, все-таки, большинство приведенных задач реализовано на диалекте Transact SQL, а рассматриваемые темы обычно иллюстрируются на примере СУБД Microsoft SQL Server. Видимо, автор имеет больший опыт работы с данной СУБД, чем с другими. Книга написана живым языком, в ней приводятся интересные исторические факты, например, история появления реляционной модели данных, откуда пришел в СУБД термин "транзакция", истоки популярного сейчас термина "большие данные" (big data), пример советской СУБД, реализующей сетевую модель данных, или описание высоконагруженной распределенной системы, использовавшейся, опять же, еще во времена СССР. Из минусов можно выделить то, что местами книга напоминает сборник статей на различные темы, связанные с СУБД; и, как упоминалось выше, в ней уделяется больше внимания СУБД Microsoft SQL Server, почти не затрагивая особенностей таких широко используемых корпоративных СУБД, как Oracle DBMS, или IBM DB2. Например, в СУБД Oracle уже есть встроенные средства для работы с иерархическими структурами (деревьями), и удобнее использовать их вместо приведенных общих алгоритмов. Так же реализованы в СУБД Oracle и средства аудита, реестра объектов метаданных (словарь данных), безопасности и разделения доступа к данным, и т.д. В целом, следует понимать, что данная книга не заменяет документации или специализированных книг, целиком посвященной какой-то конкретной СУБД, с ее тонкостями и детальным описанием возможностей. При работе с определенной СУБД необходимо изучать литературу, посвященную именно ей. Хотелось бы увидеть продолжение книги, где был бы сделан уклон на выбор систем для задач аналитики: организацию хранилищ данных для предприятий, описание современных поколоночных (column-oriented) баз данных (Vertica, GreenPlum, …), рассмотрение аппаратно-программных комплексов для обработки и анализа данных, таких как Teradata или Exadata. Можно более подробно коснуться технологий big data и NoSQL, рассказать о реальных задачах бизнеса, в решении которых данные технологии помогают, более подробно объяснить их основополагающие концепции, например, алгоритмы MapReduce. Можно так же уделить внимание методам интеллектуального анализа данных (Data Mining), и визуализации данных. В заключении хочу сказать, что рад появлению еще одной книги на тему баз данных от российского автора - таких книг не много, и обычно на полках магазинов мы можем встретить переводы трудов зарубежных специалистов. Поэтому выход каждой такой книги можно считать событием. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2015, 16:10 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
itprof2, Заинтриговали. Спасибо за отзыв. Было бы еще круче, если бы вы дали сразу линк на скачивание ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2015, 17:15 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
itprof2Справедливости ради стоит заметить, что, все-таки, большинство приведенных задач реализовано на диалекте Transact SQL, а рассматриваемые темы обычно иллюстрируются на примере СУБД Microsoft SQL Server. Видимо, автор имеет больший опыт работы с данной СУБД, чем с другими. Это диагноз. Книгу фтопку. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2015, 17:21 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Знакомы с творчеством автора? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2015, 17:23 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
wizliЗнакомы с творчеством автора? Нет, но я знаком с "особенностями" работы с T-sql. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2015, 17:27 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
itprof2 Нет, но я знаком с "особенностями" работы с T-sql.Для ликбеза, коим является данная книжка, это неважно. Другое дело, что в 320 страниц невозможно подробно рассказать обо всех темах, заявленных автором, привести примеры, в которых то или иное решение оказывалось бы выгодным (imho в проектировании нет понятия правильно/неправильно, есть понятия выгодно/не выгодно) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2015, 17:57 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovwizliЗнакомы с творчеством автора? Нет, но я знаком с "особенностями" работы с T-sql. tsql - хороший диалект SQL, простой, и не сильно нереляционный. к тому же, популярный и доступный. что тебе не нравится -совершенно не понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2015, 05:39 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovwizliЗнакомы с творчеством автора? Нет, но я знаком с "особенностями" работы с T-sql. что не так с Transact SQL ? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2015, 11:37 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
Одноклассник Императорачто не так с Transact SQL ? Ну, например, въедающееся в подкорку "не используйте курсоры, используйте временные таблицы". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2015, 13:48 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНу, например, въедающееся в подкорку "не используйте курсоры, используйте временные таблицы". "не используйте курсоры" - это общая рекомендация для всех процедурных диалектов. А если используете, то позаботьтесь о транзакции и соответствующем уровне изоляции. Один триггер с наборами inserted/deleted на все множество записей - сильная сторона TSQL, позволяющая писать без курсоров сложную логику. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.01.2016, 23:51 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
TSQLэто общая рекомендация для всех процедурных диалектов. Не хочу Вас разочаровывать, но... не могли бы Вы назвать какой-нибудь процедурный диалект с такой же рекомендацией?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.01.2016, 23:54 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovTSQLэто общая рекомендация для всех процедурных диалектов. Не хочу Вас разочаровывать, но... не могли бы Вы назвать какой-нибудь процедурный диалект с такой же рекомендацией?.. Есть общеизвестное на sql.ru правило: нет смысла делать в курсоре то, что можно сделать одним реляционным оператором. Но "можно ли это сделать одним DML/CTE" - напрямую зависит от вашего знания SQL. Тем не менее, и на ваш вопрос в мире можно дать ответ. Обработка явного (explicit) курсора (того, что объявляют по DECLARE) происходит на пользовательском уровне исполнения процедурного кода. Неявный (implicit) же курсор или временный набор (worktables) создаются и обрабатываются на уровне ядра СУБД. Поэтому в общем случае вычисление в явном цикле будет медленнее, чем в неявном. Например, для Oracle, где внутренняя архитектура исторически использует курсоры, а не worktables, и потому их использование более органично. Однако, даже в Oracle с развитием системы закономерно проявились общие принципы: "implicit cursors are faster and result in much neater code so there are very few cases where you need to resort to explicit cursors" ( тынц ) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2016, 00:43 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
TSQLТем не менее, и на ваш вопрос в мире можно дать ответ. Раз можно, так почему Вы вместо этого начали разглагольствовать на тему "явные курсоры против неявных", в то время как вопрос был о "курсоры против временных таблиц"?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2016, 00:50 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovРаз можно, так почему Вы вместо этого начали разглагольствовать на тему "явные курсоры против неявных", в то время как вопрос был о "курсоры против временных таблиц"?.. Вопрос, напомню, стоял в вашем высказывании так: Dimitry Sibiryakov "не используйте курсоры, используйте временные таблицы" Что говорит о недостаточном знании предмета, поскольку общая рекомендация звучит совсем иначе: "НЕ используйте курсоры, НЕ используйте временные таблицы, используйте SQL DML/CTE" Эта рекомендация, а также отдельные её части, с успехом могут быть применимы ко всем реляционным СУБД. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2016, 01:01 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
TSQLобщая рекомендация звучит совсем иначе: "НЕ используйте курсоры, НЕ используйте временные таблицы, используйте SQL DML/CTE" Но при этом куда ни плюнь, попадёшь в "select * into ##t"... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2016, 01:08 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
MasterZivtsql - хороший диалект SQL, простой, и не сильно нереляционный. к тому же, популярный и доступный. что тебе не нравится -совершенно не понятно. Наверное потому-что T-SQL это совсем не SQL и к SQL имеющее такое же отношение как FoxPro. Для новичка FoxPro даже будет удобнее. IMHO для начинающих программистов, вообще не надо говорить о существовании процедурных расширения SQL. Во первых это отвлекает внимание от SQL, т.к. в начале они должны понять декларативный подход. Во вторых процедурные расширения у разных БД разные. Причем очень разные. А вот SQL более-менее один. Если учить стандарт. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2016, 12:06 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
mad_nazgulДля новичка FoxPro даже будет удобнее. Этот мамонт еще жив? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2016, 05:24 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
Граур Станиславmad_nazgulДля новичка FoxPro даже будет удобнее. Этот мамонт еще жив? Ну... вроде бы фанаты не дают MS закопать труп. Как минимум так было пару лет назад. Как сейчас не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2016, 06:26 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovОдноклассник Императорачто не так с Transact SQL ? Ну, например, въедающееся в подкорку "не используйте курсоры, используйте временные таблицы". Ну я бы сказал по другому, если хочешь высокопроизводительное решение, то не используй курсоры Но сами по себе, они очень полезны, а есть задачи, где и вовсе незаменимы, ну или очень сложно заменимы) А по теме, все равно осталось желание купить данный труд и прочесть. Мое первое впечатление, что там будет написано все довольно простым языком, если так, то буду давать jD на обучение) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2016, 09:47 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
В качестве учебника для начинающих данная книга вполне полезна. Еще бы стоимость пониже сделали. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 14:16 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
wizli, Оплатить и скачать книгу можно тут: http://www.litres.ru/sergey-tarasov/subd-dlya-programmista-bazy-dannyh-iznutri/ ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 14:52 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
Кодер ПетрВ качестве учебника для начинающих данная книга вполне полезна. Еще бы стоимость пониже сделали. Минимальная цена - при покупке в редакции ( тынц ), доставка по почте, электроверсия тоже доступна. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.01.2016, 17:54 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
itprof2 Хотелось бы увидеть продолжение книги, где был бы сделан уклон на выбор систем для задач аналитики: организацию хранилищ данных для предприятий, описание современных поколоночных (column-oriented) баз данных (Vertica, GreenPlum, …), рассмотрение аппаратно-программных комплексов для обработки и анализа данных, таких как Teradata или Exadata. Можно более подробно коснуться технологий big data и NoSQL, рассказать о реальных задачах бизнеса, в решении которых данные технологии помогают, более подробно объяснить их основополагающие концепции, например, алгоритмы MapReduce. Можно так же уделить внимание методам интеллектуального анализа данных (Data Mining), и визуализации данных. В заключении хочу сказать, что рад появлению еще одной книги на тему баз данных от российского автора - таких книг не много, и обычно на полках магазинов мы можем встретить переводы трудов зарубежных специалистов. Поэтому выход каждой такой книги можно считать событием. Ну и как, появилась у автора такая книга? Тоже хотелось бы увидеть :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2021, 19:52 |
|
отзыв на книгу "СУБД для программиста"
|
|||
---|---|---|---|
#18+
В инете то ли отзывы, то ли цитаты: "Доступно объясняется, почему некомпетентность в работе с реляционными БД не является уважительной причиной использования BigData и noSQL." Смеялся. Виден опыт практика, взаимодействующего с эффективными менеджерами от ИТ. Боль прямо сквозь строки чувствуется. :) Видимо книга действительно стоящая. И насколько я понял, что хотя она ориентирована на начинающих, но и не начинающим тоже будет интересна именно такими жизненными обобщениями из практики. Наверное куплю. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2021, 12:21 |
|
|
start [/forum/topic.php?fid=32&msg=39141327&tid=1539798]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 166ms |
0 / 0 |