2014-08-06 3 views
0

Недавно я закончил курс алгоритма I и, следовательно, узнал много структур данных, которые используются для хранения данных соответствующим образом.Структуры данных и базы данных

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

ответ

2

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

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

Но сами базы данных выполняют хэширование, индексирование и другие структуры данных для реализации своих методов хранения данных. Они эффективно кодируются в соответствии с внутренними структурами данных, которые мы обычно не находим из-за внешней структуры данных из переднего вида. НО, ОНИ ОСУЩЕСТВЛЯЮТ ИХ БАЗЫ ДАННЫХ НА ОДНОЙ ТЕХНОЛОГИИ!

+0

означает ли это, что пользователь сделал структуры данных редко используются сегодня? Можете ли вы рассказать мне о некоторых приложениях, в которых используются созданные пользователем структуры данных? – coderVishal

+1

эй, я вообще не отрицал его существования! Я просто сказал, что они присущи внедрению базы данных. Вам не нужно внешнее обеспечение. Далее, все используемые алгоритмы используют структуры данных, такие как Stack, Binary Trees, Hashing. Надеюсь, я понятен ... –

+0

Я тоже не отрицаю это, я просто спрашиваю, почему явно определенные структуры данных широко используются, поскольку вы сказали, что они уже присущи реализациям базы данных? – coderVishal

1

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

Например:

  1. B-tree используется во многих базах данных. B+-tree используется во многих известных базах данных, а также в обычных файловых системах, таких как NTFS.
  2. SQLite uses B+ tree
  3. SQL Server uses heap or B-tree

Большинства баз данных использует комбинацию этих структур данных, иногда реализации пользовательскую версии. Они оптимизированы для высокой производительности.

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

Смежные вопросы