Строки или «кортежи», если хотите, специально не упорядочены в реляционной базе данных.Это считается деталью реализации.Конечно, нам все равно часто нужно навязывать порядок строк, но мы должны это делать, когда мы запрашиваем данные, а не когда мы храним их.
Я не знаю hbase, но я заметил этобыла бесплатной, поэтому, если вы можете рассмотреть MySQL как альтернативу, вот один из способов сделать то, что вы хотите.
Создайте таблицу InnoDB с автоинкрементным первичным ключом.Таблицы InnoDB сгруппированы по первичному ключу, что означает, что строки хранятся отсортированными по ключу.Поскольку вы используете автоинкрементный ключ, новые строки всегда будут иметь более высокие значения, а строки, добавленные в последовательности, будут храниться «рядом» друг с другом.Эти свойства обеспечивают быстрое извлечение X самых новых или самых старых строк, поскольку они, вероятно, будут совмещены на одних и тех же страницах данных (уменьшает количество операций ввода-вывода).
Это будет что-то вроде этого:
create table mytab(
id int not null auto_increment
,the int
,rest varchar
,of char
,your tinyint
,columns varchar
,primary key(id)
)Engine=InnoDB;
Чтобы добавить 10 последних строк, вы бы запросили его следующим образом:
select *
from mytab
order
by id desc
limit 10;
Обратите внимание, что даже если выудаляются строки, идентификатор будет увеличиваться.Так что если MAX (id) 5000, это не значит, что у вас 5000 строк.