views:

385

answers:

3

Hi, I am planning to make some big project (1 000 000 users, approximately 500 request pre second - in hot time). For performance I'm going to use no relational dbms (each request could cost lot of instructions in relational dbms like mysql) - so i can't use DAL.

My question is:

  1. how web2py is working with a big traffic, is it work concurrently? I'm consider to use web2py or Gork - Zope,
  2. How is working zodb(Z Object Database) with a lot of data? Is there some comparison with object-relational postgresql?

Could you advice me please.

+4  A: 

First, don't assume that a data abstraction layer will have unacceptable performance, until you actually see it in practice. It is pretty easy to switch to RAW sql if and when you run into a problem.

Second, most users who worry about there server technology handling a million users never finish their applications. Pick whatever technology you think will enable you to build the best application in the shortest time. Any technology can be scaled, at the very least, through clustering.

mikerobi
+1 and I would add that memcached appears to be *the* drop-in solution for reducing DB hits in general. Much better to focus on getting the app to actually work first, than to worry about scaling upfront.
cjrh
Thanks for responding, but i thing GAE is not what i going to use. I going to model object relational DB on postgresql.So I will need to go without DAL. Am I right?
Robert
Postgresql isn't really object relational. It does support a form of table inheritance, but it has its limitations, and in any case you will still end up using it like any other relational database.Write a small app with both approaches and figure out which one is best for you.
mikerobi
so i can't use fully nested tables in postgresql?
Robert
+2  A: 

I agree with mikerobi - pick what will let you develop fastest. For me that is web2py.

web2py runs on Google App Engine, so if you don't want to use a relational database then you can use Google's datastore.

Plumo
Thanks for responding, but i thing GAE is not what i going to use. I going to model object relational DB on postgresql.So I will need to go without DAL. Am I right?
Robert
what ORD features do you need? web2py DAL supports table inheritance. Probably best to deal directly with postgres though.
Plumo
i need nesting tables. Something like in oracle:create type ListaLineasCompra_TipoAnidada AS TABLE OF LineasCompra_TipoObjeto --(constraint ListaLineasCompra_pk primary key(IdLineaCompra) );/CREATE type OrdenCompra_TipoObjeto AS OBJECT ( IdCompra number, ClienteRef REF Clientes_TipoObjeto, FechaCompra date, FechaEnvio date, ObjDireccionEnvio Direccion_TipoObjeto, ListaLineasCompra_Anidada ListaLineasCompra_TipoAnidada,);
Robert
A: 

i need nesting tables. Something like in oracle:

create type ListaLineasCompra_TipoAnidada AS TABLE OF LineasCompra_TipoObjeto

--(constraint ListaLineasCompra_pk primary key(IdLineaCompra)  )

; /

CREATE type OrdenCompra_TipoObjeto AS OBJECT (

IdCompra number,
ClienteRef REF Clientes_TipoObjeto,
FechaCompra date,
FechaEnvio date,
ObjDireccionEnvio Direccion_TipoObjeto,
ListaLineasCompra_Anidada ListaLineasCompra_TipoAnidada,

);

Robert