Database Sync between two Local DBs using MS Sync Framework - microsoft-sync-framework

I am interested in knowing if there is any way to sync two local db database across different computers using Sync Framework? If not then what are alternatives?

Sync Framework should be able to sync LocalDb databases across networks. You use the same SqlSyncProvider for it.

Related

Using memcached or Redis on aws-elasticache

I am working on an application on AWS and I am using AWS elasticache for caching.
I am confused between using memcached or redis.
I read the about the redis 3.0.2 update and how it is equivalent to memchached now.
https://groups.google.com/forum/#!msg/redis-db/dO0bFyD_THQ/Uoo2GjIx6qgJ
But I read on the amazon aws faq page that amazon elasticache dows not support 3.0.2. They currently support Redis 2.6.13, 2.8.6 and 2.8.19.
http://aws.amazon.com/elasticache/faqs/ (Date June 10,2015)
I have read AWS white papers on elsticache. But they have not specified for which version of redis they are providing the suggestions.
How should I decide between the use of memcached or redis for any application I may create ? What are the points one needs to keep in mind before using redis or memcached ? Should I consider that amazon will update the redis version soon and go on with redis ?
p.s. I am a novice developer.
Actually depends upon use case
Select Memcached if you have these requirements:
You want the simplest model possible.
You need to run large nodeswith multiple cores or threads.
You need the ability to scale out/in,
Adding and removing nodes as demand on your system increases and decreases.
You want to partition your data across multiple shards.
You need to cache objects, such as a database.
Select Redis if you have these requirements:
You need complex data types, such as strings, hashes, lists, and sets.
You need to sort or rank in-memory data-sets.
You want persistence of your key store.
You want to replicate your data from the primary to one or more read replicas for read intensive applications.
You need automatic failover if your primary node fails.
You want publish and subscribe (pub/sub) capabilities—to inform clients about events on the server.
You want backup and restore capabilities.
Here is interesting article by aws https://d0.awsstatic.com/whitepapers/performance-at-scale-with-amazon-elasticache.pdf
This is the main discussion of comparing Memcached and Redis Memcached vs. Redis?
Both AWS and Azure for sure will upgrade in the future to the newer versions of Redis, but when and how they will roll out it will depend only on them. Meanwhile you could install Redis 3.0.2 yourself, but you need to see if you really need Redis 3 which actually gives you the cluster support. And if you don't need the cluster then you can go with 2.8 from Elasticache.

How to synchronize Local database with a remote database using Django?

I just want concurrency in the local and remote database.
The changes made to local database should be reflected to a remote database automatically.
In short explain me how to concurrently update multiple database servers.
If you don't want to solve this on a DB level, you may want to have a look at Django's built in support for multiple databases.

How would I sync a SQL database using a Smart Phone to store and forward changes? (No direct connection between source and target)

I have a scenario where my occasionally connected clients (WPF app, SQL Express DB) need to sync with a central SQL Server. The client machines are used in the field, and often times do not have any sort of connectivity. The plan is to use a smart-phone as an intermediary store and forward device. The client would push local changes to the phone. Then disconnect the phone, power down the laptop, and drive down the road. While driving, the phone will come into connectivity and upload the changes to the central office.
I need to know if I can do this with Sync Framework.
The documentation seems to indicate that the sync orchestration wants access to both the source and the destination. In this case, I don't have connectivity to the destination (central server). I suspect that I need to find a way to cache the destination's knowledge locally, but I'm not sure if that's appropriate.
It's may be worth noting that the client machines will have direct connections on a periodic basis, but not a daily basis.
So the scenario is:
Client machine is directly connected on Monday and does a full sync.
On Tuesday, user goes out in the field and uses app, generating updates / inserts / deletes to the SQL Express database.
User "syncs" client machine to their smartphone. (Save file(s) to the SD card)
User turns off client and drives down the road.
Smart phone comes into connectivity and uploads files to central office.
Central office "syncs" data from uploaded file(s) to the central SQL Server database.
Repeat 2-6 for Wednesday, Thursday, Friday.
On the following Monday, user is again directly connected for a full sync.
How do I do this with Sync Framework?
Does it help if I can have the smartphone downloading something daily from the central office (like central office's knowledge)? Is there harm done if the client is orchestrating a sync session against stale cached knowledge from the central office?
Thanks in advance!
You cant do this out of the box with Sync Framework or the Sync Framework Toolkit. Database synchronization and file synchronization are totally different. Sync Framework works with the concept of providers to represent the repositories being synched. For example, to work with files, you have the FileSyncProvider, to work with SQL Server/Express/Azure, you have the SqlSyncProvider and so on... but you cant use the FileSyncProvider to sync with the SqlSyncProvider... the former works with files, the latter with rows in a database.
instead of having your smartphone sync with a local machine, have both local machine and smartphone synching directly with the central server.
for the client machine, you can use the Sync Framework SDK and preferably configure it in an n-tier setup using WCF.
for the smartphone, you will have to use the Sync Framework Toolkit since you cannot install the Sync Framework SDK itself on the phone.
here's a link to a sample using an n-tier setup: Database Sync:SQL Server and SQL Express N-Tier with WCF
here's the link to the Sync Framework Toolkit: Microsoft Sync Framework Toolkit

With MS Sync Framework, can I sync between two DBs having different Sync scopes?

I've got the following scenario:
In my system, it is possible that two data-stores (both SqlCe, or one is a server) will have different sync-scopes defined. In these circumstances, can I sync the two databases?
If it is possible to sync them, which scope will be used?
Thanks,
Assaf.
You can sync across them. When you create each sync provider, specify the scope for that particular database. The sync orchestrator doesn't care what scopes are in use and will sync between the scopes.
As to your second question, the local scope for each database will be used.

DJango Appengine Bforms

I am trying to understand how Django and Appengine work together?
First, question: Is this a good team?
Experience, what is possible and what not, would be great.
I also read some modules like auth, admin wont work.
But the article is rather old, so maybe there is an update.
And in that tutorial one has to import bforms.
What is that?
Django Module? Appengine? Python? Bigtable?
How is Bigtable different from regular SQL, MySQL?
Thanks
Regular SQL and MySQL are designed for one computer only and fail in cloud computing where you need 1,000 computers for one database. Thus the next generation databases, like bigtable, were created to distribute the data over many database servers. They are called NoSQL databases for "Not Only SQL." See http://nosql-database.org/ for a list of NoSQL databases. The google app engine apparently allows you to use the bigtable structure so you data is distributed over a dozen database servers in the cloud. So does Amazon's simple db.