<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">&gt;&gt;&gt;&gt;&gt; &quot;Stanislaw&quot; == Stanislaw Pusep &lt;<a href="mailto:creaktive@gmail.com">creaktive@gmail.com</a>&gt; writes:<br>


<br>
</div>    Stanislaw&gt; 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&gt; Supondo: estou escrevendo resenha sobre iPad. O sistema<br>
    Stanislaw&gt; deve &quot;automagicamente&quot; (categorias, tags, indexação do<br>
    Stanislaw&gt; conteúdo, whatever) associar esse artigo com resenhas de<br>
    Stanislaw&gt; iPhone, iPod, iMac. Em blog pequeno até pode ser viável<br>
    Stanislaw&gt; scanear tudo sempre que artigo novo é criado...<br>
<br>
E qual seria a forma mais viável de scanear?<br>
<br>
    Stanislaw&gt; 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&gt; Filtro que se preza é treinável. Vou manter<br>
    Stanislaw&gt; (black|white)list como? tie %hash, &#39;DB_File&#39;?<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&gt; Provando por absurdo e desprezando o atrito: OK, um blog<br>
    Stanislaw&gt; pode ser um emaranhado de arquivos organizados em<br>
    Stanislaw&gt; diretórios. Porém vai ter que ter um (ou mais)<br>
    Stanislaw&gt; índice. Talvez em CSV. E por que não dbmopen? Ou, quem<br>
    Stanislaw&gt; 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&gt;  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 &quot;soluço&quot; no sistema sempre que você modificar alguma coisa.<br></blockquote><div><br>É exatamente esse o &quot;opa!!!&quot; 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>