Data Access Layer - Switching from Local SQL Database to Cloud Data Storage - entity-framework

I am creating a simple application and getting stuck with data storage option. To begin with I would like to use SQL Server as my data storage. I will not be using any special features of SQL Server, its pure tables with CRUD operations.
Now I should be able to switch the underlying data store to either SQL Data Services or Amazon S3 by changing few configuration parameters.
Is this possible??? If yes, can anyone provide high level guidance on how to go about it? Do I need to use Entity Framework to begin with SQL Server? Does Entity Framework supports SQL Data Services? Any common component which supports both SQL Data Services and Amazon S3?
Too many questions!!!
Thanks for the help in advance.

The closest ORM I know of is LightSpeed. I've never used it though. Personally, if the end goal is to use cloud storage, I'd probably just use cloud storage from the get go...
If you are going to use Amazon's SimpleDB, M/Gateway has a open source db that mimics their API.

Related

Postgresql in Node-red

I use node-red to create an Api from a server. I want to read and send data via http. I use the browser-based programming method. I want to send data from a postgresql database. I installed the package node-red-contrib-postgres-multi. I donĀ“t know how to put data into the database and how to read data from the database, because I cannot find examples.
Does anybody knows, how I can do that?
You can use postgrestor postgrestor package where you can define query or data modification statement directly in node window. It also allows parametrized queries via template engine.
The problem I've encountered is working with more than one db instance in the same flow but if you need only one db instance connection it should work for you.

AWS platform. Picking the right technologies

I am building an app that allows people to share items with other people in the community. I wanted to use AWS as my platform.
My idea was to use react Native for the app. AWS Cognito for the authentication. AWS lambda for the server calls. Relational database for storing data about the items and user data such as geolocation. Dynamodb for real-time chat, requests for borrowing and transaction data between users. My primary focus is low cost and I was thinking of using PostgresSQL for relational database.
What do you guys think of my database choices. Of course the PostgresSQL database on rds. Is there a flaw in database plan so far? Any help would be greatly appreciated.
I would probably just use DynamoDB for everything in your application. I don't see a real need to storing some of your data in an RDS database here. However if you definitely need a relational database, I would suggest AWS Aurora Serverless so that your entire application would be using serverless AWS services. Also, normal relational database connection pools don't work that well in AWS Lambda, so I would suggest using the new Data API.

Integrating external objects into SF without Salesforce or Lightning connect (from Postgres tables)

I have some tables from Postgres database to be integrated into Salesforce as external objects. I went through some video tutorials and documentations where I was recommended to use Salesforce Connect which supports providers with "OData" protocol support. Is it possible to integrate Postgres tables into Salesforce as external objects without Salesforce Connect?
Thanks.
Be careful with the phrase "external objects". To me, the use of those particular words implies the specific implementation of external data access/federation delivered with Salesforce Connect. I don't believe that there is any alternative if your goal is to create "real" external objects (named "objectname__x") within Salesforce.
There are, though, Salesforce integration solutions from the likes of Progress, Jitterbit, Mulesoft, and Informatica and others that can be used to access PostgreSQL, with varying degrees of coding being required. You won't get "external objects", but you will be able to access data residing off-cloud in a PostgreSQL database from your Salesforce system.
Hope this helps.
Currently the way to integrate data from external storages (Postgres in your case) without Salesforce Connect is implement your custom logic for synchronization using REST or SOAP API, Apex classes and triggers, Salesforce Workflows and Flows. Also you will need to implement appropriate interfaces on side of your data storage. Complexity of all these steps depends on complexity of your existing data model and infrastructure around it.

Service plan migration for SQL DB

Is it possible to migrate from SQL DB small plan to premium plan? Assume we have started with the small plan and data exceeds 10GB. Can the plan be migrated to premium? If yes, does this include data movement?
No, currently there's no way to automatically migrate your data. You have to manually migrate from the small to the premium plan. You should be able to use the SQL Database console to manually export your data, then once you've subscribed to the premium plan, you should be able to load the data via the SQL DB Console as well.
The SQL Database console does not have ability to import/export data. To move data from one SQLDB instance to another, consider to use the Bluemix DataWorks Data Load REST API.
https://www.ng.bluemix.net/docs/services/dataworks1/index-gentopic1.html#task_d4j_q1r_np
Alternatively, you may also create a Bluemix app so you may import and export data from/to SQL Database service:
http://www.ibm.com/developerworks/cloud/library/cl-sqldb-app/

REST based service on iPhone

I have never before created a REST based service. I am about to create a simple apps for the iPhone which needs to store data and I want to consume the data by using a REST API. Do you think this is worthed or should I as well do a query to the DB? What sort of DB/language do usually iPhone developers use for their application?
the iPhone includes SQLite which can store your data locally. If you need to query a system on a server, then you need some method of exposing your data and performing operations against it. Using a RESTful api with something like JSON is a relatively common method for this.
For the database, it depends on your needs, if you need a true relational database then something like MySQL, PostgreSQL, SQL Server, Oracle, etc. will work. You can also look at Google's BigTable or Amazon's SimpleDB to store data for non-relational data stores, and write your RESTful services on those.
This article has an example of integrating the iPhone with Flikr using their REST services and JSON.
http://iosdevelopertips.com/networking/iphone-json-flickr-tutorial-part-1.html
I think RESTKit provides seamless integration with SQLite in addition to being a nice REST client. There's also RESTframework if you're looking for something simple to use.