You are referring to this generic wiki about partitioned data, but are you specifically talking about MySQL as your target? The reason I ask is because some databases have built in concepts of sharding and routing. And also some databases may use row locking instead of table locking. Maybe it is best to investigate the right database for your needs before looking at trying to implement a manual mysql partitioning abstraction?
I agree about some of the advantages, but I wonder if they outweigh the disadvantages. It would mean that each time you create a new project, a new database must be created before applications will be able to function. And you have to maintain your own routing logic, which may or may not be a big deal at all.
Has it proven difficult to extract a single projects data set for backups, just using queries? And is your project dataset so large that it needs to be off-lined with each final project?
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/f3a798ff-1d8f-41da-bd91-9017c522f4bf%40googlegroups.com.To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
But what kind of problems were you actually facing?
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/6dbde745-cfdf-4609-ab09-714f99d37ba4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_maya+unsub...@googlegroups.com.
On 27/10/2014 5:34 PM, "Asi Sudai" <asis...@gmail.com> wrote:
>>
>> But what kind of problems were you actually facing?
>
> I'll admit it's driven more by curiosity and "philosophy" of separating components more than actual need to overcome a problem.
>
> since sqlalchemy gives an easy framework to do so, it's not very complicated and all the sharding logic is stored in the backend, so the front end tools aren't aware of this at all.
>
> by sharding the database I hope we could:
> - easier to backup and restore ( much smaller set of data )
> - easier to archive together with the entire project files ( cause that DB is isolated from the rest of the projects data )
I would think this is only a concern if you are generating massive amounts of data and find a performance benefit in being able to remove chunks of data from being queried. Then again, if your project fields are indexed anyways, wouldn't queries still be fast when they include a filter on the project?
> - set permissions based on a project/shard
Permissions could be part of the application layer. I'm not sure how sharding the database makes this any easier. If user X is not allowed to access project Y, then you can fail that request at the application level.
> - scalability where each shard could live on a different server or location (if needed)
Or you can just try to improve performance with replicated slaves? Unless your bottleneck is writes, but even then you should be able to accomplish something with replicas.
>
> did anyone try/needed that in a production environment?
>
As mentioned above, I'm pretty sure these problems can either be addressed without partitioning across multiple databases, at the application layer. Or, some of them aren't actually a problem. Like you said, this is currently driven by "curiosity and a philosophy", so it doesn't sound like you are specifically trying to solve a current problem you are facing.
>>>> To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
>>>> To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/6dbde745-cfdf-4609-ab09-714f99d37ba4%40googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
>>> To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/f3a798ff-1d8f-41da-bd91-9017c522f4bf%40googlegroups.com.
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>
>>
> --
> You received this message because you are subscribed to the Google Groups "Python Programming for Autodesk Maya" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to python_inside_m...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/python_inside_maya/eea91bfb-ca17-404a-839b-ab29d1f6319c%40googlegroups.com.