Есть ли какие-либо базы данных тот протокол поддержки буферы?

Ну, Джош Блох сказал сам в Эффективный Java 2d :

Предпочитает интерфейсы над абстрактными классами

Некоторые основные моменты:

  • Существующие классы могут быть легко модифицированы для реализации нового интерфейса. Все, что вам нужно сделать, это добавить необходимые методы, если они еще не существуют, и добавить объявление класса к объявлению класса.
  • Интерфейсы идеально подходят для определения микшинов. Как ни странно, mixin - это тип, который класс может реализовать в дополнение к его «первичному типу», чтобы объявить, что он обеспечивает некоторое необязательное поведение. Например, Comparable является интерфейсом mixin, который позволяет классу объявлять, что его экземпляры упорядочены относительно других взаимно сопоставимых объектов.
  • Интерфейсы позволяют создавать структуры неиерархического типа. Иерархии типов отлично подходят для организации некоторых вещей, но другие вещи не падают аккуратно в жесткую иерархию.
  • Интерфейсы обеспечивают безопасные и мощные улучшения функций с помощью идиомы для каждого класса. Если вы используете абстрактные классы для определения типов, вы оставляете программиста, который хочет добавить функциональность без альтернативы, но использовать наследование.

Кроме того, вы можете комбинировать достоинства интерфейсов и абстрактных классов, предоставляя абстрактный класс реализации скелета, чтобы идти с каждым нетривиальным интерфейсом, который вы экспортируете.

blockquote>

] С другой стороны, интерфейсы очень трудно развиваться. Если вы добавите метод в интерфейс, он сломает все его реализации.

PS: купите книгу. Это намного более подробно.

29
задан Rob Lachlan 9 May 2010 в 18:09
поделиться

4 ответа

Я ничего не знаю (не то, что они не существуют, я просто не знаю о них), но, возможно, стоит обсудить альтернативную стратегию, а также плюсы и минусы.

Как правило, вы хотите хранить сериализованную версию буфера протокола, проиндексированную по какому-то определенному ключу (возможно, уникальному идентификатору). Затем вы можете построить вторичные индексы для других интересных полей, которые указывают на этот уникальный идентификатор. Идея состоит в том, что вы бы хотели, чтобы такие явные индексы масштабировались за пределы системы, предоставляющей произвольные индексы. Это, очевидно, открывает мир новых проблем (таких как устаревшие произвольные индексы).

4
ответ дан allenporter 28 November 2019 в 02:11
поделиться

Вот проект, который я нашел: https://github.com/google/mysql-protobuf

Это sql, который говорит на protobuf, выглядит многообещающе, но последний коммит был в середине марта 2016.

2
ответ дан Azr 28 November 2019 в 02:11
поделиться

В последнее время ClickHouse добавил поддержку протобуф-сообщений.

0
ответ дан Alexander.Furer 28 November 2019 в 02:11
поделиться

Облачный Гаечный ключ оказал бы собственную поддержку для protobufs.

https://cloud.google.com/spanner /

0
ответ дан 28 November 2019 в 02:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: