Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Antonelli Santos

Encurtador de URL

Recommended Posts

Bom, estou desenvolvendo alguns encurtadores de URL "temáticos" e gostaria de saber qual o BD recomendado:

 

MySQL, PostgreSQL, MongoDB, CrouchDB, Cassandra ou HBase?

 

Seria NoSQL o mais recomendado? Qual linguagem interage melhor com o BD escolhido?

Desde já agradeço, grande abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu iria de redis que eh um NOSQL chave/valor muito veloz e persistente.

 

Bom, estou desenvolvendo alguns encurtadores de URL "temáticos" e gostaria de saber qual o BD recomendado:

 

MySQL, PostgreSQL, MongoDB, CrouchDB, Cassandra ou HBase?

 

Seria NoSQL o mais recomendado? Qual linguagem interage melhor com o BD escolhido?

Desde já agradeço, grande abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Acho que a melhor opção seria o php, pois com o js, você ainda poderia cair em incompatibilidades eventuais por causa dos browsers...

 

Dá uma olhada no canal da phpacademy, em um ele explica detalhadamente como fazer um url-minimizer, achei bem útil, por mais que já soubesse de algumas maneiras de realizá-lo, dá uma olhada lá.

 

Mas também, seria interessante, você desenvolver o mesmo código em js, apenas para fins de teste de performance e também para ter uma carta na manga!

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Tordem, quando ele disse js, acho que ele me referia ao Node.js, que é uma linguagem server side, em javascript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu ate cheguei a pensar nisso, mas como ele nao citou nada. Assumi por javascript... LOL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos...

Fiquei um tempo ausente pois estava "arrumando" a vida para a nova rotina, enfim... Vamos ao que interessa!

Defini que o BD utilizado será o Redis (obrigado Suissa) mesmo, já até fiz alguns testes e li alguns (milhares) de materias sobre tal.

Sobre a "linguagem de interação", para um encurtador de URL, não vejo necessidade de usar uma programação server-side, tal como "node.js". Então irei desenvolver o sistema utilizando PHP e alguma das framework deles! Só ainda não consegui mexer no sistema pois não consegui virtulizar uma máquina aqui para compilar o PHP com a framework que escolhi.

 

Agora peço outra ajuda... Qual hospedagem devo utilizar para o "encurtador", de início? Um dedicado simples?

 

Grande abraço à todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah sim, isto não é framework, mas sim o cliente de implementação do Redis para PHP.

 

Frameworks são:

Zend Framework

Symfony

Code Igniter

Yii

Kohana

etc...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas curiosidade mesmo.

 

Estou utilizando Zend Framework, se for escolher alguma framework, ela tem meu voto. xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas curiosidade mesmo.

 

Estou utilizando Zend Framework, se for escolher alguma framework, ela tem meu voto. xD

 

Tu usa o Zend + Redis?

 

Peço desculpas pelo double-post, mas não tinha como editar o de cima...!

-

Vi que o Redis tem total interação com o Symfony, pelo PHPRedis. Agora queria saber... Esse Symfony é um CMS? Ou apenas um framework para trabalhar com "novos" recursos no PHP?

 

E uma segunda dúvida... Quero colocar uma espécie de "categorização" de links no encurtador, e teria como colocar isso na estrutura do Redis? Por exemplo:

 

A pessoa reduz o link "www.google.com.br" para "myur.ly/google" e teria a opção de colocar para "myur.ly/buscadores/google". E ao acessar "myur.ly/buscadores", abriria uma página com todos os links para essa opção, incluindo o "myur.ly/google".

 

Como ficaria isso no Redis? Alguem sabe? Ou em outro NoSQL, só pra ter uma base...?

Ou seria melhor colocar o Redis apenas para fazer a checagem de acesso e redirecionamento, e um MySQL, ou talvez MongoDB, para o restante?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tu usa o Zend + Redis?

Nop, uso MySQL, já cheguei a usar MongoDB usando o ODM do Doctrine.

 

Esse Symfony é um CMS? Ou apenas um framework para trabalhar com "novos" recursos no PHP?

Symfony é uma das frameworks para PHP mais completa existente, porém com uma das curvas de aprendizagem mais verticais também.

 

E uma segunda dúvida... Quero colocar uma espécie de "categorização" de links no encurtador, e teria como colocar isso na estrutura do Redis? Por exemplo:

A pessoa reduz o link "www.google.com.br" para "myur.ly/google" e teria a opção de colocar para "myur.ly/buscadores/google". E ao acessar "myur.ly/buscadores", abriria uma página com todos os links para essa opção, incluindo o "myur.ly/google".

Isso já é mais para a parte da framework, neste caso você deseja algo como resources, buscadores seria um resource e google um identificador. Algo parecido com aplicações REST.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a diferença entre trabalhar com e sem framework?

 

Symfony é uma das frameworks para PHP mais completa existente, porém com uma das curvas de aprendizagem mais verticais também.

Entendi! Vou dar mais algumas lidas... Ver sobre a documentação, etc.!

 

Isso já é mais para a parte da framework, neste caso você deseja algo como resources, buscadores seria um resource e google um identificador. Algo parecido com aplicações REST.

Entendi... Mas num teria que ter essas informações inseridas em alguma base de dados, para agilizar o processo?

Talvez atrelar o "google" à um subconjunto "buscadores"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem framework você teria que realmente, criar o teu sistema do 0, existem frameworks apenas com a base MVC, que é um bom inicio caso você queira fazer o resto do 0 mesmo.

Mas você não deve tentar aprender uma framework sem antes dominar a linguagem para qual ela foi desenvolvida. Não adianta de nada você tentar aprender Symfony ou Zend Framework sem ter o minimo de conhecimento em Design Patterns e Orientação a Objetos, além de PHP "puro". ;)

 

Sim, você teria que ter os recursos inseridos em algum meio de persistência, no seu caso, o Redis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem framework você teria que realmente, criar o teu sistema do 0, existem frameworks apenas com a base MVC, que é um bom inicio caso você queira fazer o resto do 0 mesmo.

Mas você não deve tentar aprender uma framework sem antes dominar a linguagem para qual ela foi desenvolvida. Não adianta de nada você tentar aprender Symfony ou Zend Framework sem ter o minimo de conhecimento em Design Patterns e Orientação a Objetos, além de PHP "puro". ;)

 

Sim, você teria que ter os recursos inseridos em algum meio de persistência, no seu caso, o Redis.

 

Sei das "barreiras" que terei que enfrentar... Mas tenho esses projetos para aprender, e não como forma de "monetizar" nada!

 

Desde novinho eu "futuco" em coisas ligadas à programação, mas nunca me dediquei a fio. Tenho uma boa noção de "lógica" e de como devo fazer determinada coisa funcionar, consigo encontrar o caminho e o que tenho que aplicar para que eu consiga tal efeito, mas não sou "programador"... Ainda.

Agora estou buscando novos horizontes, direcionando meu conhecimento para aplicar em recursos para WEB.

Tenho lido bastante coisa sobre escalabilidade, tendências, tecnologia, startups, programação, PHP, nosql, java, etc., e estou gostando muito.

Na faculdade, começarei à ter aulas de prog. e acho que me incentivará mais. Vou dar uma idéia ao professor para concentramos os estudos em algo relacionado à internet, mesmo não sendo o foco da formação que faço.

 

Mas é isso... Vou estudar bastante, para começar darei uma reforçada no que sei sobre PHP "puro" e lerei sobre OOP, depois seguirei com o projeto.

 

Grande abraço à todos.

E vamos seguindo o debate! =D

 

Ahh... NESSE LINK, acho que a busca no Redis e o redirecionamento é feito diretamente pelo NGINX. Ou os "Lua" são responsáveis por tal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Redirecionamente é feito diretamente pelo NGinx (aliás isso me parece bastante rápido, o servidor trata diretamente da conexão com o Redis e verifica se a slug existe e redireciona para a url guardada).

você só precisa criar a interface para que os usuários insiram urls.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Redirecionamente é feito diretamente pelo NGinx (aliás isso me parece bastante rápido, o servidor trata diretamente da conexão com o Redis e verifica se a slug existe e redireciona para a url guardada).

você só precisa criar a interface para que os usuários insiram urls.

 

Achei isso muito interessante!

Mas o que os "Lua files" fazem na história?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí eu já não sei. Elas podem ser requiridas pelo NGinx para executar o Redis, pois LUA é uma linguagem de programação como outra qualquer (criada no Brasil diga-se de passagem), ou então pode ser apenas para você criar os scripts para adicionar novas urls. Tem que dá uma olhada na página de ajuda referente à este módulo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.