2010-09-11 9 views

Respuesta

13

Los espacios de nombres permiten implementar la segregación de datos para aplicaciones con varios inquilinos. El official documentation enlaces a algunos proyectos de muestra para darle una idea de cómo se podría utilizar.

-3

Un espacio de nombre se puede utilizar para crear diferentes bases de datos para diferentes usuarios. Ayuda a crear jerarquía en la base de datos.

0

mirada, hacia esta pregunta no es que revisó mucho bien y respondió lo que tratar de dar a éste.

Al utilizar espacios de nombres, podemos tener una mejor práctica de la clave y el valor de separación allí en un espacio de nombres dado. Siguiente es el mejor ejemplo de dar la información del espacio de nombres a fondo.

from google.appengine.api import namespace_manager 
from google.appengine.ext import db 
from google.appengine.ext import webapp 

class Counter(db.Model): 
    """Model for containing a count.""" 
    count = db.IntegerProperty() 


def update_counter(name): 
    """Increment the named counter by 1.""" 
def _update_counter(name): 
    counter = Counter.get_by_key_name(name) 
    if counter is None: 
     counter = Counter(key_name=name); 
     counter.count = 1 
    else: 
     counter.count = counter.count + 1 
    counter.put() 
# Update counter in a transaction. 
db.run_in_transaction(_update_counter, name) 

class SomeRequest(webapp.RequestHandler): 
"""Perform synchronous requests to update counter.""" 
def get(self): 
    update_counter('SomeRequest') 
    # try/finally pattern to temporarily set the namespace. 
    # Save the current namespace. 
    namespace = namespace_manager.get_namespace() 
    try: 
     namespace_manager.set_namespace('-global-') 
     update_counter('SomeRequest') 
    finally: 
     # Restore the saved namespace. 
     namespace_manager.set_namespace(namespace) 
    self.response.out.write('<html><body><p>Updated counters') 
    self.response.out.write('</p></body></html>') 
1

Los espacios de nombres se utiliza en el motor de aplicación de Google para crear aplicaciones multiusuario. En las aplicaciones de Multitenent, una sola instancia de la aplicación se ejecuta en un servidor y sirve a varias organizaciones de clientes (inquilinos). Con esto, una aplicación puede diseñarse para particionar virtualmente sus datos y configuraciones (lógica de negocios) y cada organización de cliente trabaja con una instancia de aplicación virtual personalizada. Puede dividir fácilmente los datos entre inquilinos simplemente especificando una cadena de espacio de nombres única para cada inquilino. .

Otros usos de espacio de nombres:

  1. compartimentar la información del usuario
  2. separar los datos de administración de datos de la aplicación
  3. la creación de instancias del almacén de datos independientes para pruebas y producción
  4. la ejecución de múltiples aplicaciones en un único motor de aplicación instancia

Para informar Más visita ación en los enlaces siguientes:

http://www.javacodegeeks.com/2011/12/multitenancy-in-google-appengine-gae.html 
https://developers.google.com/appengine/docs/java/multitenancy/ 
http://java.dzone.com/articles/multitenancy-google-appengine 

http://www.sitepoint.com/multitenancy-and-google-app-engine-gae-java/ 
Cuestiones relacionadas