Si hay un mejor lugar para preguntar esto, por favor hágamelo saber. .¿Los sitios web necesitan bases de datos locales más?
Cada vez que voy a construir un nuevo sitio web/blog/carro de la compra/etc, sigo tratando de hacer los siguientes:
- Extracto cabo funcionalidad común en código reutilizable (plugins rubygems y jQuery su mayoría)
- Si es posible, convertir esa joya en un pequeño servicio de modo que nunca tenga que hacer frente a una base de datos para los objetos involucrados (por el servicio, me refiero a algo ligero y robusto, generalmente construido con la Sinatra Web Framework con unos pocos modelos básicos).
Mi suposición es, si puedo eliminar las dependencias en las bases de datos locales, que hará que sea más fácil y más escalable en el largo plazo (escalable en términos de capacidad de reutilización y capacidad de gestión, no necesariamente la base de datos/rendimiento). No estoy seguro de si eso es una suposición bueno o malo todavía. ¿Qué piensas?
He hecho esta hipótesis debido a la siguiente razón:
funcionalidad más grave de base de datos/modelo ha sido construido en el Internet en alguna parte.
Sólo para nombrar unos pocos:
- Red Social API: Facebook
- API de mensajería: Twitter
- API de correo: Google API
- Evento: Eventbrite
- Compras API: Shopify
- comentario API: Disqus
- Forma API: Wufoo
- API de imagen: Picasa
- API de vídeo: Youtube ...
Cada una de esas cosas son bastante complicados de construir desde cero y hacer tan optimizado, simple, y fácil de usar ya que esas compañías los han fabricado.
Así que si construyo una aplicación que muestre imágenes (picasa) en una página de eventos (eventbrite), y pueda ver quién se unió al evento (eventos de Facebook) y envíeles correos electrónicos (aplicaciones de google api) y tenerlos llenar encuestas mensuales (Wufoo), y ver un video y cuando estén listas (youtube), todo ello integrado en una costumbre, fácil de usar sitio web, y yo puedo hacer eso sin tener que crear una base de datos local, es que una buena cosa?
Lo pregunto porque hay dos cosas que faltan en el rompecabezas que me mantienen obligando a crear esa base de datos local:
- mensaje API
- REST/API Bastante Url
Si bien hay un montón de Para ellos, sistemas de blogs y API, no hay un solo lugar donde simplemente puedas escribir contenido y hacerlo parte de algo masivo. Para cada aplicación, tengo que usar el código para crear URL bonitas/tranquilas, y eso guarda las publicaciones. ¡Pero parece que debería ser un servicio!
La pregunta es, ¿es eso lo que el sitio web es? ... Ese lugar para integrar los servicios de mundos para mi causa específica ... y, suspiro, para almacenar publicaciones que solo mi sitio tiene acceso a. ¿Todos necesitarán siempre "su propio blog"? ¿Por qué no tener un perfil y escribir mucho contenido en una plataforma establecida como StackOverflow o Facebook?
... De esta forma puedo escribir aplicaciones completamente sin una base de datos y saber que lo estoy haciendo bien.
Nota: Por supuesto, en algún momento necesitaría una base de datos, si estuviera haciendo algo único o nuevo. Pero para el caso en el que solo estás volviendo a cablear información o creando cosas como videos, eventos y productos, ¿es realmente necesario?
No tengo experiencia con él, pero doesd no couchdb (http://couchdb.apache.org/) llenar ese nicho de REST? –
Es cortés con la memoria caché. Si lo descarga a una nube, esa sigue siendo técnicamente * su * base de datos. – cbednarski