Основанные на значении ключа базы данных, кто-то может объяснить мне, как использовать их практически?

Проблема: Кажется, AlarmPickerDialog простирается от android.app.DialogFragment вместо android.support.v4.app.DialogFragment.

Решение: Измените код на

// Comment-out this line
// import android.app.DialogFragment

// Add this line
import android.support.v4.app.DialogFragment

class AlarmPickerDialog : DialogFragment() {

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        var myView = inflater!!.inflate(R.layout.alarm_time_picker, container, false)
        return myView
    }
}
5
задан Blankman 24 March 2009 в 14:59
поделиться

4 ответа

То, что произошло, - то, что некоторые действительно, действительно, ДЕЙСТВИТЕЛЬНО большие веб-сайты как Google и Amazon занимают подростка, крошечная ниша, где их хранение данных и требования извлечения так отличаются от чьего-либо еще, что требуется новый способ хранить/получать данные. Я уверен, что эти парни знают то, что они делают, они очень хороши в том, что они делают.

Однако затем это взято и сообщило относительно и исказило в "реляционные базы данных, не до обработки данных для сети". Кроме того, читатели начинают думать "эй, если реляционные базы данных не достаточно хороши для Amazon и Google, они не достаточно хороши для меня".

Эти выводы являются оба неправильными: 99,9% всех баз данных (включая тех, кто стоит за веб-сайтами) не находится на том же бейсбольном стадионе как Amazon и Google - не в нескольких порядках величины. Для этого 99,9% ничто не изменилось, реляционные базы данных все еще работают просто великолепно.

6
ответ дан 13 December 2019 в 05:43
поделиться

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

Это - также вопрос свежести. Во многих случаях цель многих соединений состоит в том, чтобы объединить очень разрозненные данные; то есть, данные, которые значительно различаются в его относительной свежести. Это может добавить значительную сложность и наверху сохранять таблицу пары "ключ-значение" синхронизируемой, когда маленькая часть данных через большое количество пар обновляется. Сложность системы можно часто считать формой стоимости производительности; время, риск и стоимость для внесения изменения в сложную систему, не влияя на производительность часто намного больше, чем простая.

Лучшее решение состоит в том, чтобы всегда кодировать, какие работы так просто, как Вы можете. В большинстве случаев я сказал бы, что это означает, создают полностью нормализованное проектирование баз данных и присоединяются к дерьму из него. Только пересмотрите свой дизайн после того, как производительность станет очевидной проблемой. При анализе проблемы также будет очевидно, где проблемы заключаются и что потребности быть сделанными для фиксации их. Если это уменьшает соединения, то пусть будет так. Вы будете знать, когда необходимо будет знать.

3
ответ дан 13 December 2019 в 05:43
поделиться

Я не имею большого опыта с ключом/значением dbs, поэтому беру то, что я говорю с мелкой частицей соли.

После этих слов первая вещь, на которую я должен указать, состоит в том, что memcached не является базой данных ключа/значения. База данных подразумевает некоторое персистентное хранилище, которое не memcached. Memcached предназначается, чтобы быть временным хранилищем для сохранения запроса к фактической базе данных.

Кроме этого, мое понимание - то, что Вы не собираетесь быть способными заменить Ваш RDBMS базой данных ключа/значения. Они имеют тенденцию быть лучшими для неструктурированных данных или других данных, где Вы не можете знать все атрибуты, которые должны быть сохранены. Если необходимо сохранить высоко-структурированные-данные, Вы не можете сделать намного лучше, чем традиционный RDBMS.

2
ответ дан 13 December 2019 в 05:43
поделиться

Они могут быть сложными структурированными данными, которым нужна десериализация. Они могут также быть простыми записями фиксированного размера, точно так же, как Ваш RDBMS. Часть преимущества - то, что Вы добираетесь для принятия того решения сами. При оптимизации базы данных Вы не ограничены тем, что может сделать SQL.

Путем Вы спрашиваете, заставляет его походить на соединение, или десериализация всегда будет узким местом. Но в любой базе данных, вещи никогда не настолько просты. Можно поместить денормализованные данные в RDBMS также или записать интерфейс RDBMS сверху базы данных значения ключа, если Вы действительно хотите.

1
ответ дан 13 December 2019 в 05:43
поделиться
Другие вопросы по тегам:

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