LINUX.ORG.RU
решено ФорумAdmin

Сверхмаленькая СУБД

 , , ,


0

1

Что посоветуете в качестве СУБД в условиях острейшей нехватки RAM? Очень важно, чтобы для неё существовал JDBC connector. Может, вообще не стоит БД использовать? Или вынести БД на другой хост вообще? Или SQLite со всем справится?

Перемещено tazhate из games

★★★★★
Ответ на: комментарий от tazhate

Бложик. Посты, комментарии. Как лучше хранить текст: в файле, а в БД название файла или сразу текст в БД?
Хорошо бы, если бы памяти не отжирало вообще.

CYB3R ★★★★★
() автор топика

в условиях острейшей нехватки RAM

Может в таком случае все таки статика? Блогогенераторы есть разные, на руби октопресс, на питоне пеликан http://blog.getpelican.com/

Комментарии можно прикрутить через сторонние сервисы, которых очень много сейчас.

bhfq ★★★★★
()
Последнее исправление: bhfq (всего исправлений: 1)
Ответ на: комментарий от bhfq

Если статика, тогда отпадает потребность в генераторе контента и освобождается примерно 200Мб RAM. Да и не круто это сейчас.

CYB3R ★★★★★
() автор топика
Ответ на: комментарий от CYB3R

Сейчас наоборот в моде статика, а держать все на каком-нибудь amazon s3. Я понимаю что писать свой движок и все свое это совсем мега удовлетворяет.

bhfq ★★★★★
()

JDBC
в условиях острейшей нехватки RAM

/0

anonymous
()

JDBC? А что в твоём понимании нехватка памяти?

KblCb ★★★★★
()

В условиях острейшей нехватки оперативной памяти писать надо на С используя самописную недоБД на файлах.

Legioner ★★★★★
()

Может, вообще не стоит БД использовать?

this

schizoid ★★★
()
Ответ на: комментарий от Legioner

Именно этот вариант я имел ввиду под «вообще не использовать БД».

CYB3R ★★★★★
() автор топика
Ответ на: комментарий от CYB3R
create table posts (
	p_id integer primary key,
	p_date timestamp default current_timestamp not null,
	p_title string not null,
	p_url string not null,
	p_text_raw text not null,
	p_text_rendered text not null,
	p_visibility boolean not null
);

create table tags (
	t_id integer primary key,
	t_url string not null,
	t_name string not null,
	t_description string,
	t_counter integer
);

create table tags_posts_junction (
	tp_tag integer not null,
	tp_post integer not null,
	foreign key(tp_tag) references tags(t_id),
	foreign key(tp_post) references posts(p_id)
);

create table counters (
	c_tag_id integer not null,
	c_posts_number integer not null
);
-- Примерный запрос страницы:
SELECT * FROM POSTS WHERE p_visibility = ? -- Не показываем черновиков 
	AND p_id IN (SELECT tp_post FROM tags_posts_junction WHERE tp_tag = ( -- Есть возможность выбрать посты по тегу
		SELECT t_id FROM tags WHERE t_url = ?)) -- Тег приходит из url 
ORDER BY p_date DESC LIMIT ? OFFSET ?; -- лимит берётся из глобальной переменной 
-- - количество постов на страницу, оффсет считается из url (page3 -> offset = 40)

Только я есличо не настоящий сварщик.

Hoodoo ★★★★★
()
Последнее исправление: Hoodoo (всего исправлений: 1)
Ответ на: комментарий от CYB3R

Хорошо бы, если бы памяти не отжирало вообще.

в файлах попробуй. Но тормоза будут. И вообще уродство by design.

drBatty ★★
()
Ответ на: комментарий от Hoodoo

До этого работал только с MySQL, вижу кучу отличий. Большое спасибо, это поможет мне разобраться.

CYB3R ★★★★★
() автор топика
Ответ на: комментарий от CYB3R

Я щас так смотрю - боюсь что не очень...

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

raw и rendered - я храню две копии, чтобы каждый раз не дрочить Markdown. Отредактировал - срендерил - схоронил. Надо опять отредактировать - достал сырой пост.

На сам бложек ссылка в профайле, я им не пользуюсь почти, главное было написать.

Hoodoo ★★★★★
()
Ответ на: комментарий от Hoodoo

я им не пользуюсь почти, главное было написать.

Та же фигня :)

CYB3R ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.