Pull to refresh

Comments 27

Очень ждём!
Хотелось бы видеть отдельную главу про возможные проблемы и способы их решения: целостность данных, дедлоки и т.д.

У меня вопрос касательно UDF для Firebase — не могли бы вы подсказать хороших ресурсов по тематике?

По UDF есть старая статья http://www.ibase.ru/udf_ok/
Ещё есть примеры готовых UDF http://www.ibase.ru/d_udf/

В книге всё будет обновлено до текущего положения дел.
кроме этого, пример udf для utf8 тут (в конце)
https://www.ibase.ru/unicode_faq/
Firebase и Firebird — это разные базы. Первая — это KV от Гугла :)

Спасибо, это просто опечатка с моей стороны.

По UDF есть старая статья http://www.ibase.ru/udf_ok/

Про UDR пока ничего нет. Писать их сложнее, но возможностей гораздо больше. Будет отдельная статья.
Очень интересно! Присоединяюсь к просьбе более полного раскрытия темы UDF, так как информации немного, и еще бы раскрыть близкую тему разработки BLOB фильтров. По этой теме информации еще меньше. Идеально бы с примерами кода.
Реквестирую разделы:
«Перечисление FB серверов в локальном сегменте сети»,
«Перечисление баз данных на выбранном FB сервере».
таких фичей ни у Firebird, ни у InterBase нет, и вряд-ли будут. Ибо это, как минимум, противоречит безопасности.
противоречит безопасности

Безопасности противоречит дырявый код и кругом торчащие уши API файловой БД на стероидах. Например, MS SQL Server вполне себе безопасен и позволяет все из перечисленного.

Тем не менее, перечисленные фичи можно эмулировать и на FB, правда через одно место.
>кругом торчащие уши API файловой БД на стероидах
в смысле?
Кроме того, прошу объяснить, зачем кому-то знать список всех баз, которые есть на сервере ФБ? И как вообще этот список подсовывать серверу? Ну допустим, нечто вроде aliases.conf. Но
— приложение обычно работает с конкретной базой данных (или базами).
— админ сервера БД и так знает, какие базы где лежат

Насчет «локального сегмента сети» — допустим, в сети есть 3 сервера ФБ — на винде, на CentOs, и на MacOS. Они должны сообщать друг-другу, что они есть в сети? Зачем? Или, должен быть некий софт, который будет тыкать все компы сети в порт 3050? А если у меня они все на разные порты настроены?

Я как-то не очень понимаю задачу.
За фичи ФБ голосуют в трекере, а не здесь.
Список БД, как и список серверов нафиг не нужен. Когда появятся схемы будет что-то похожее на список БД, хотя это не одно и то же.
Мои мысли по поводу этого поста удивительным образом сошлись с вот этим комментарием.
По роду работы часто занимаюсь починкой баз Firebird.

Так что типовые сценарии по починке и восстановлению, когда возможно, данных будут полезны, думаю, многим. Некоторые нюансы пришлось или на своём опыте обнаруживать, или выуживать из сотен комментариев на миллионах форумов — а, казалось бы, такое надо брать из документации.

Удачи!
Для починки пользуетесь IBSurgeon FirstAID? Или просто gfix/gbak?
типовой сценарий починки давно изложен на https://www.ibase.ru/db_repair/
Если так не чинится, надо уже делать по другому. А тут без спец-средств обойтись сложно. Даже если знать физ. структуру БД, то не всегда эти знания помогут.
Кроме того, мы часто сталкиваемся со случаями, когда базе совсем кирдык, или когда время починки гораздо дольше восстановления из бэкапа.
В нашем случае типовой сценарий по указанной ссылке не содержит нужных пунктов, для наших специалистов, для конкретного продукта написали отдельный сценарий типовой починки БД.

Специфика такая, что очень часто починка — чуть не единственный способ вернуть хоть какие-то данные.
мне жутко интересно, что это за пункты и сценарий.
Например, генераторы, которые вернут неуникальное значение для идентификатора — база на вид нормальная, но в реальности использовать её можно только после того, как все генераторы проверены (или, что проще, каждому выставлено следующее значение за пределами MAX() значения столбца, в который его вставят).
а, это… Ну так одни только генераторы в приложении могут использоваться несколькими способами. Причем такими, что никакую связь между базой и приложением обнаружить нельзя, пока приложение не начнет выдавать ошибки.

Чаще всего без разработчиков БД и приложения такие последствия повреждений исправить нельзя. Так что сборник таких сценариев большинству был бы совершенно бесполезен, особенно пользователям, которые БД отдельно от приложения не рассматривают и не воспринимают.
Ну так сферическая БД в вакууме, сиречь без привязки к конкретному приложению — тут как бы и так ясно, что и где проверять. «Общее состояние здоровья», оно типично для многих СУБД.

Для всего прочего уже нужны конкретные сценарии и рекомендации, с учётом специфики приложения.
уже написаны 3 статьи по ADO.NET desktop, ASP.NET MVC и Delphi, в работе для PHP, Java, Android

есть опыт работы с FB на PHP, было бы интересно почитать соответствующую статью
Не хватает главы про reliability и scalability: поддержка кластеризации, partitioning, sharding; наличие/отсутствие fault tolerant client; возможно, для этой БД есть что-то типа pgpool, и т.д.
Ещё, если у неё есть какие-нибудь vendor specific фичи, хорошо бы главу про них. Типа как Postgre может индексировать поля JSON-структуры, лежащей в строковом поле, и искать по ним, или поддержка очередей в Oracle.
Sign up to leave a comment.

Articles

Change theme settings