Skip navigation
2010

De: http://sigt.net/archivo/digg-mejora-del-rendimiento-un-4000-por-ordenar-con-php-en-lugar-de-mysql.xhtml

 

Tenía en la cola de pendientes un apunte la mar de interesante  publicado en High Scalability y titulado Digg:  4000% Performance Increase by Sorting in PHP Rather than MySQL (del  cual sale el titular de esta entrada). Casi toda la entrada es  traducción de la original en inglés aunque un poco “liberal”.  Cualquier error en la misma, ya sabéis ;).

 


 

En la entrada original comentan y enlazan una  entrevista de James Turner hecha a Joe Stump CTO1 de SimpleGeo y anterior líder de  arquitectura de Digg.

 

En ella Joe habla de su experiencia en el uso de Cassandra (una base de datos NoSQL) vs MySQL. Y de cómo Digg empezó con una arquitectura  orientada a MySQL para actualmente estar  moviéndose a Cassandra.

 

Sus observaciones sobre algunas de las lecciones aprendidas y las  motivaciones detrás de este cambio son especialmente valiosas. A  continuación algunos de los puntos claves que pueden resultar útiles:

 

  1. Precalcular al escribir, hacer las lecturas rápidas.  Esto es una vieja táctica a la hora de escalar pero es valioso ver cómo  SimpleGeo está aplicándolo a sus problemas de encontrar entidades en  ciertas regiones geográficas. Usando Cassandra han construido dos  clusters: uno para los índices y otro para los documentos. El cluster  para documentos, como podrás imaginar, es un simple buscador de datos.  El cluster para índices está cuidadosamente construido para tener una  respuesta a cada escenario de búsqueda. Los índices están calculados al  escribir, por lo que las lecturas son muy rápidas. Como las lecturas son  predominantes, este planteamiento tiene mucho sentido. Las peticiones  basadas en la hora también son precalculadas. Joe menciona algoritmos  especiales para desplegar los datos, con tendencia a concentrarse  alrededor de las zonas geográficas, pero no menciona cuáles son éstos.
  2. Restringe lo que el usuario puede hacer. El sistema  se mantiene simple no permitiendo consultas de duración indefinida. Los  usuarios tienen permitidas realizar una serie de operaciones bien  definidas que terminan en búsquedas altamente optimizadas. No tienen  intención de ser una base de datos genérica, su única intención es ser  capaces de servir datos geográficos… de forma óptima.
  3. El conjunto de herramientas relaciones han fallado cuando se  requiere tiempo real. El conjunto de herramientas de las bases  de datos relaciones no han evolucionado. Han fracasado para entornos en  tiempo real a gran escala. Hacer sistemas escalables en una base de  datos relacional requiere hacer “sharding2“, balanceo de  carga, “resharding”, administración de clusters, preocuparse de la  consistencia, implementar peticiones distribuidas y hacer otras capas  por ti mismo. Entonces ¿para qué molestarse?. Cassandra hace todo esto  de serie. Apaga un servidor y Cassandra gestionará todo el re-mapeado y  re-enrutado de forma automática.
  4. Las técnicas para escalar convierten una base de datos  relacional en una no relacional. Para escalar Digg ellos han  seguido un conjunto de técnicas muy similares a las usadas por eBay.  Nada de “joins” (uniones), nada de “foreign key constraints”  (restricciones de claves foráneas - para escalar las escrituras), sólo  “primary key look-ups” (búsquedas de clave primaria), peticiones de  rango limitado y las uniones se hacen en memoria. Cuando se  implementaron los comentarios se consiguió una mejora del rendimiento de  un 4000% al ordenar (sorting) usando PHP en lugar de MySQL. Todo este  esfuerzo requerido para hacer escalar una base de datos relacional  básicamente quiere decir que vas a usar una base de datos no relacional  de todas formas. Entonces ¿Por qué no utilizar una base de datos no  relacional desde un principio?.
  5. Adopta y extiende productos existentes en lugar de hacer los  tuyos propios. Cassandra ha permitido a SimpleGeo crear  políticas personalizadas de particionamiento de datos y extender éstos  datos mejor. Esto significa que no hay que crear una base de datos, una  base de datos existente puede ser creada y mejorada para adquirir esa  funcionalidad extra que requieres mientras sigues beneficiándote de una  bien soportada y altamente funcional base de datos. Ésto es también una  lección aprendida en Justin.tv y es probable que se convierta en una estrategia mucho más importante a  medida que la complejidad aumenta.
  6. Escalar equivale a especialización. Para escalar a  menudo se requiere construir de forma personalizada grandes soluciones a  problemas específicos.
  7. MySQL funciona bien para un cierto conjunto de problemas.  Típicamente para datos relativamente estáticos, volúmenes de peticiones  relativamente pequeños y requerimientos de latencia relativamente  altos.
federico

Cuidemos el Agua...

Posted by federico Mar 25, 2010

De: http://alt1040.com/2010/03/de-toda-el-agua-del-planeta-solo-el-008-llega-a-nuestros-grifos-y-otros-datos-sobre-el-h2o

 

H2O, líquido elemento, el oro del siglo veintiuno… muchos son los  nombres que a lo largo de la historia se le han dado a esa sustancia  formada por dos átomos de hidrógeno y uno de oxígeno popularmente  conocida como agua, la cual a día de hoy escasea y sin la que el hombre y  nuestro hermoso planeta tal como lo conocemos no existirían.

 

 

¿Pero realmente qué sabemos sobre el agua? Pues  salvo excepciones y lo dicho en el primer párrafo, seguramente la  mayoría esté como yo hasta hace poco y no sepa mucho más sobre esta  sustancia literalmente vital. Y para mitigar esa carencia, parcialmente  aunque solo sea, traigo  la siguiente infografía (de las que soy fan) en la que se muestran diferentes  datos relacionados con el agua.

 

 

Os dejo con ella seguidamente y traduzco los datos que aparecen en la  misma (con licencias) para facilitarle la vida a todos los que no se  llevan muy bien con el inglés.

 

 

 

 

  • el 75% del planeta Tierra está cubierto por agua
  • de eso, el 97.5% es océano
  • lo que nos deja un 2.5% de agua dulce
  • 70% de esa cantidad es hielo
  • y un 30% aguas subterráneas a las que podemos acceder
  • gran parte de la cual está tan contaminada que no es usable, lo que  nos deja con menos de un 1% de agua dulce de toda la que hay en el  planeta (o un 0.007% de toda el agua en la Tierra) accesible para el uso  humano directo
  • de esa agua aproximadamente el 70% se usa para regar
  • y otro 22% para uso industrial
  • y tan sólo un 0.08% para uso doméstico

Después de 3 años en el mercado la pantalla táctil del iPhone de Apple se mantiene todavía entre las mejores en oferta actual. El problema es que se queda en eso, en una pantalla, algo que de repente podría cambiar porque científicos de la Carnegie Mellon University en colaboración conMicrosoft Research Labs han desarrollado un sistema que convierte el cuerpo humano, aunque la utilidad se centra en los brazos, en una gigantesca touchscreen.

El sistema se basa en detectar los sonidos de bajísima frecuencia que producimos cuando tocamos nuestra piel con un dedo, por ejemplo, así que simplemente con tocarnos el brazo podríamos controlar la reproducción de música, responder una llamada o navegar entre los contactos de nuestra agenda. El sistema, bautizado Skinput, se basa en la proyección sobre el antebrazo, o sobre la mano, de una interfaz que puede ser tocada para ser analizada posteriormente según su sonido.

 

Actualmente puede diferenciar hasta 5 zonas de la piel muy próximas entre sí con una precisión del 95%, más que suficiente, entonces se encarga de enviar la señal vía inalámbrica por Bluetoothhasta el dispositivo para que la interprete. Los desarrolladores planean presentarlo el próximo Abril, seguro que arrasan tanto como aquellos de los auriculares que se controlaban con los ojos.

Fuente: Physorg