<span dir="ltr"></span><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">>>>>> "Stanislaw" == Stanislaw Pusep <<a href="mailto:creaktive@gmail.com">creaktive@gmail.com</a>> writes:<br>
<br>
</div> Stanislaw> FULLTEXT?<br>
<br>
Se seus registros vão todos ter um único campo fulltext, qual a<br>
utilidade de se usar um banco de dados relacional?<br>
<br>
Stanislaw> Supondo: estou escrevendo resenha sobre iPad. O sistema<br>
Stanislaw> deve "automagicamente" (categorias, tags, indexação do<br>
Stanislaw> conteúdo, whatever) associar esse artigo com resenhas de<br>
Stanislaw> iPhone, iPod, iMac. Em blog pequeno até pode ser viável<br>
Stanislaw> scanear tudo sempre que artigo novo é criado...<br>
<br>
E qual seria a forma mais viável de scanear?<br>
<br>
Stanislaw> use Data::NestedSet;<br>
<br>
E junto com as consultas nested set (que são uma gambiarra pra driblar<br>
as limitações semânticas de SQL), a implantação do schema e a<br>
complexidade O(n^2).<br>
<br>
Stanislaw> Filtro que se preza é treinável. Vou manter<br>
Stanislaw> (black|white)list como? tie %hash, 'DB_File'?<br>
<br>
Ok, pro storage do anti-spam não faço idéia do que usar, mas estamos<br>
falando do storage do blog, não das features acessórias.<br>
<br>
Stanislaw> Provando por absurdo e desprezando o atrito: OK, um blog<br>
Stanislaw> pode ser um emaranhado de arquivos organizados em<br>
Stanislaw> diretórios. Porém vai ter que ter um (ou mais)<br>
Stanislaw> índice. Talvez em CSV. E por que não dbmopen? Ou, quem<br>
Stanislaw> sabe, Berkeley DB.<br>
<br>
Ok, índices são necessários se o blog tiver um mecanismo busca<br>
próprio. Particularmente, eu prefiro usar a indexação do google prum<br>
blog pequeno, ou algo como kinosearch, lucene ou sphinx, que são bem<br>
mais eficientes que dbm/berkeley.<br>
<br>
Stanislaw> Mas melhor mesmo seria SQLite. Opa!!!<br>
<br>
Tem certeza? Operações de escrita no SQLite fazem lock no arquivo<br>
inteiro. Significa que os usuários de um blog muito solicitado vão<br>
sentir um "soluço" no sistema sempre que você modificar alguma coisa.<br></blockquote><div><br>É exatamente esse o "opa!!!" da questão. Se vai ousar SQLite, já mete um MySQL ou PostgreSQL de vez. Datacenters decentes usam servidores dedicados para banco de dados (alguns usam até discos dedicados, evitando o overhead do filesystem).<br>
Parece exagero, mas antes sobrar recurso no começo do projeto do que faltar no meio :)<br>Uma objeção a manter os índices desvinculados do conteúdo: sincronização sempre é boa na teoria; jamais na prática.<br></div></div>