I want to implement the like functionality in my app and im searching for a good solution when it comes to the database. Until now I looked at Firebase, and it seems it could the job when using sharding. As I am a beginner with DBs I thought of asking you.
What do you think?
Maybe AWS or something else has something suitable for this use-case?
Well, first of all I will choose the same DB as you are using to save users data.
If you don't have anyone yet, I will recommend you go with Firebase, it can handle your users sessions, social logins, databases and also you can implement a solution for the like functionality.
If your already using firebase, the realtime database should be best practice. Theres even an example with likes in the firebase rtDb Docs for web. But of course you should use react-native-firebase.
Related
TL;DR: Does strapi require me to model my database schema inside its admin panel?
Or is there a way I can use a database that I created its tables (but didn't populate it yet), populate it then and generate APIs for use in my front-end?
I understand this may be a general misunderstanding on my part as far as and I may have gotten on this framework for the wrong reasons - but I'd like to understand why so I can avoid making such decisions later on and have some better fundamentals for choosing my tooling.
My goal - I'm creating an eCommerce website for an extremely small artisan's shop that cannot afford anything but stuff like free AWS tiers at the moment. The end goal is a website for a few products with credit card payment, a database, and reasonably safe authentication, and I want it to be simple enough so that I can eventually scale it if it grows. I want to understand this project very intimately and really get to know my tooling.
What I tried vs my needs - my stack currently consists of react+next on the front-end, and strapi with postgresql for the back-end. I then took to the PostgreSQL docs (and my undergrad's database notes) and tried my hand at designing a database schema based on my app's use cases. However, I believed strapi would work with a traditional database modeled in a bare bones way. What I see now is that the only option from the docs is modeling it from scratch through its admin panel. I'd like to really understand out how I'm supposed to work with something I modeled elsewhere - how it all connects. I'd really appreciate any help. I hope this question is not too broad but I'm hoping it'll clear up some huge misconception I have!
We're still fairly new to MongoDB, and I'm curious if storing the user account in the same database as the data is really a wise idea. The db.createUser() documentation didn't seem to cover this topic, or I missed it while re-reading the page.
Where should I specify, especially when the account doesn't belong to only one database?
Should every account go inside the admin database?
Should I make a separate database for storing user accounts?
use someDb #<----what I'm wondering about when doing:
db.create({ "user": "someUser",
"pwd":"somePassword",
"roles":[
{"role": "readWrite", "db":"someDb"},
{"role": "readWrite", "db":"someOtherDb"}
]
})
Maybe a more experienced admin could guide me on some best practices here. As we're all learning, I need to make sure we're making good decisions.
Thanks in advance!
I am starting a project in react native that will be an mobile app with some functionalities:
Check for products and select it for buying; A chat between the company and the user;Push Notifications; Login; Payment System; Monthly reports.
I would like to know if anyone suggests something specific for the back end.
I have only knowledge in MySQL, and I am looking for the best technology for this project.
Any suggestions would be appreciated.
Thank you
Choosing the best backend solution depends on many variables. The best question always is how much money you have and how flexible solution you want. Also it is not only programming language you have to choose. Also platform, database type (SQL, NoSQL), database software (MongoDB, DynamoDB, PostgreSQL, etc.)
I recommend Go as a programming language and MongoDB for such project, all can be running as a docker containers on AWS with solutions like ALB and API Gateway. Maybe lambda.
You can also consider using Firebase as the cheaper alternative. It is quite powerful. Instead of AWS you can choose Heroku.
I am working on a webapp for a client that has a cPanel virtual server, and it appears that I can only use MySQL, but I want to store the data using a json-like structure, so that I can more easily use Angular.js on the frontend.
I've looked into installing a NoSQL database, and I can't find anything viable (if you know of a way to do that, that would be my best solution), so I'm thinking of storing the data as json strings in a series of text files on the server that I would write to with php.
I'd like to hear some opinions, and if there are any better solutions of which I'm not thinking of.
Go look at firebase and thank me afterwards.
In short, firebase is a cloud real-time JSON data storage. Everything for the backend is done for you and all you need to do is the front-end. Their servers are CDNs which means it will be great if you're looking to serve the entire world. All you need to do is configure your data-structure and use it!
It also provides sockets, which is great for real-time data (used for games, chat and etc).
There is a free option. The only downside is that it is a little expensive if you want to scale it, nevertheless if your app really gets to that stage - I'm sure you'll have money to hire some people to develop a similar backend for yourself.
I have a web design issue regarding to performance to ask advice. On a web site, there are many personalized information, for example the friends of a user of facebook. Personalized I mean different users have different friend list.
Suppose friend list is stored in database like Oracle or Mysql, each time the user clicks Home of his/her facebook page or login, we need to read database again. Each time the user add/remove friend, the database needs some update operations.
My question is, I think the performance capability (e.g. concurrency of transactions of read/write) of database is limited, and if facebook is using database to store friend list, it is hard to implement the good performance. But if not using database (e.g. MySql or Oracle), how did Facebook implement such personalization function?
This is a pretty good article about the technology behind facebook.
As Justin said, it looks like a combination of Memcached and Cassandra.
Facebook and other large sites typically use a caching layer to store that kind of data so that you don't have to make a round trip to the database each time you need to fetch it.
One of the most popular is Memcached (which, last I remember reading, is used by Facebook).
You could also check out how some sites are using NoSQL databases as their caching layer. I actually just read an article yesterday about how StackOverflow utilizes Redis to handle their caching.
From what I can gather they use a MySQL cluster and memcached and lots of custom written software. They open source plenty of it: http://developers.facebook.com/opensource/
the solution is to use a super-fast NoSQL-style database. Start with Simon Willison's excellent tutorial on redis, and it will all begin to become clear :)