LINUX.ORG.RU

Пыхт̶а̶ч̶о̶к̶ и все-все-все

 


0

1

привет друзья. пишу бложек, впервые работаю с SQL - ну, вроде норм. непривычно только после плоских файлов, что нужно заранее продумать структуру базы (а потом приходит очередная безумная идея - и все переделывать). поэтому подумал, чтобы разделять функционал сайта между разными таблицами. например, в таблице users хранится только id пользователя, логин и пароль. а всякие там кармы, лайки, профиль, аватара - в других таблицах users_karma, users_like, users_profile.

к вопросу о разделении. читал, что с чтением из базы проблем нет и кое-где оно даже шустрее mysql. окей. а вот записывать одновременно может лишь один процесс за раз. окей, а как вы считаете: стоит ли в таком случае сделать и вовсе разные файлы баз? например всех пользователей вынести в users.sqlite3, и уже в ней таблицы пользователей. комментарии в файл comments.sqlite3. и таким образом уменьшить нагрузку на базы? потому что одновременно можно будет работать уже и с пользователями, с комментариями. угу?

не хочу mysql, потому что это отдельный процесс, кушающий много памяти (и my-small.cnf не помогает).

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

★★★★★

только id пользователя, логин и пароль

НИКОГДА НЕ ХРАНИ ПАРОЛЬ.

а как вы считаете: стоит ли в таком случае сделать и вовсе разные файлы баз? например всех пользователей вынести в users.sqlite3,

упоролся? Зачем?

потому что одновременно можно будет работать уже и с пользователями, с комментариями. угу?

в том-то и дело, что И

твой пых скрипт будет работать И с пользователями, И с комментариями, а второй скрипт будет ждать. Юзай mysql.

не хочу mysql, потому что это отдельный процесс, кушающий много памяти (и my-small.cnf не помогает).

тогда будет по очереди. В принципе на 3.5 юзера хватит.

и подскажите пожалуйста, как реализовать теги к записями в sqlite?

а что это такое?

drBatty ★★
()

стоит ли в таком случае сделать и вовсе разные файлы баз?

А с ключами что делать? База должна быть целостной.

и таким образом уменьшить нагрузку на базы?

Ты сначала убедись, что она есть и того требует.

и подскажите пожалуйста, как реализовать теги к записями в sqlite?

CREATE TABLE tag2post ( tagid, postid );

Вот где-то здесь тебе нужно пойти и почитать доки по проектированию БД. ОЧЕНЬ нужно.

schizoid ★★★
()

пишу бложек

уменьшить нагрузку на базы

Если придет время уменьшать нагрузку на базу, в любом случае придется переезжать на более мощную конфигурацию, где и mysql заведется.

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

НИКОГДА НЕ ХРАНИ ПАРОЛЬ.

Я знаю. В кратце: вписываешь логин, на почту/в жаббер приходит одноразовая ссылка, переходишь по ней и ты залогинился. :)

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

А с ключами что делать? База должна быть целостной.

Ты сначала убедись, что она есть и того требует.

Понятно, спасибо.

нужно пойти и почитать доки по проектированию БД

Да, разглядываю картинку структуры БД Wordpress'а, и гуглю другие картинки из других движков. :)

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

На сайтах принято использовать полноценные БД вроде PostgreSQL, sqlite для таких задач не оптимален.

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

Я знаю. В кратце: вписываешь логин, на почту/в жаббер приходит одноразовая ссылка, переходишь по ней и ты залогинился. :)

да, прочитал. Ты не прав. Кроме некоторой сторонней информации (мыло у тебя), НУЖНО хранить ещё ДВЕ: сущности — логин/пароль. Однако пароль хранить не нужно, т.к. он не нужен для проверки. Можно хранить его односторонний хеш (с солью, для затруднения перебора).

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

CREATE TABLE tag2post ( tagid, postid );

Вот где-то здесь тебе нужно пойти и почитать доки по проектированию БД. ОЧЕНЬ нужно.

ППКС.

drBatty ★★
()

Лучше бы сразу учил какую-нить настоящую СУБД, Postgresql например.

Alve ★★★★★
()

Кстати, sqlite почему-то создаёт очень большую нагрузку на диск. Во временя 12309 у меня аж система фризилась при открытии посетителем byteflow. Перенёс на MySQL, стало норм.

PS: а чё с заголовком окна? Это в Kwin баг или где?

firestarter ★★★☆
()
Последнее исправление: firestarter (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.