Hello all ,
I am trying to get started with GoogleApp and i am reading as much
as i can about it.
I have a few questions about it.
1. I understood that the DB is not a treditional DB. In the example
(shoutout) they show how to store and get data from the DB, however
what if i need to store different data in different DB's ?
Lets take for example an application that handles expences of a
"any" google user.
user "A" uses it and then comes user "B" and user "C" etc... after
while user "A" loggs in again and wants
to get his data, this means i need to go over all the data in the
data store in order to see wich records are
user "A" records ... is there a way to open a "DB" for a user ...
so when the user runs this application system will only "know" user
"A" data ?
2. I dont come from "webapp" programming background, and i find the
tutorials and docs very very hard to understand, are there any other
resources ?
thanks ,
Can any one point for the best practice with regards to the DB ?
Adding some kind of fields to my data models is possible in order to be able to know what data belongs where…
But it seems to me that the more data you have on that single application the more queries will be inefficient.
Cause if I have stored 40000 objects in my DB and one user has only 500 objects in the DB , I will need to go over all the 40,000 objects to find
His data ? is that correct ?
Would it be more correct to upload several instances of the application ? one for each user ?
Eddie.
From my understanding, they will both run in the same time since the sharding on data is based on
the indexes and not on the "databases"/"tables". In this case the index is the same for NY so it
should run in the same time.
> 2. The other reason to split the DB is security, should a "bug" or a google
> app exploit will be available you dont want
> your customer "A" records be viewed by customer "B". the application
> runs in somekind of sandbox but if the DB is one
> any small error in program can expose everything to everyone.
I don't have any real comments about this, but it feels to me like you're seeing this as a typical
DB server isolated in one part, with all the data in the same place. One of the advantages provided
by the Datastore is that that idea is no longer true.
--
Federico Builes
I am sorry if this is off topic / off interest to the rest of the group but
I do think this is an important
Issue with google apps.
I don't see how this is possible, even if you have indexed objects the "CPU"
>> From my understanding, they will both run in the same time since the
sharding on data is based on
>>.he indexes and not on the "databases"/"tables". In this case the index is
the same for NY so it
>> should run in the same time.
will still need to go over all
Records to compare their index and see if it is equal to the index your
looking for.
So this should be READING 10,000,000 records vs READING 400,000,000 records,
how can it be the same time ?
Even if you fetch only 10,000,000 of them , you still need to go over all of
them...( the 400,000,000)
Is there an index property inside the record that the Google DB knows to
make it as an index ? or the index is just another field in your data object
?
so google may provide a secure virtual sendbox but this has nothing to do
with the internal issue.
Do you see my point ?
--
Federico Builes