Cloud Firestore

Application and Data / Data Stores / NoSQL Database as a Service

I am building a platform for a health provider using Vue.js with Cloud Firestore and Cloud Functions for Firebase. Some of the app features are: Video chat, Chat 1 to 1 Payment - using Stripe Mange clients - CRM

I am debating whether to stay with Cloud Firestore and Cloud Functions for Firebase as my backend (using ExpressJS) I built it in a way that will be easy to change to Rest API with other DB, but not sure if I want to keep using Firestore

READ MORE
5 upvotes19.5K views
Replies (1)

Looking at your needs I can't find any reason to move from Firestore, if you're already using it. Could you describe possible things you have concerns over? In any case, using a cloud-based datastore (like Firestore or DynamoDB (AWS, though)) let you avoid running and maintaining your own database server(s). I would consider Firestore and cloud functions a bit of a sweet-spot, actually. The only thing you cannot do in a cloud function vs. a running server is cron jobs or other long-running maintenance taks or tasks needed to be done at certain intervals. but Google has a service that calls urls (as, for exaple cloud functions), so it can be solved that way instead.

READ MORE
6 upvotes305 views
Avatar of anticafe
Android Tech Lead at CodeStringers

I want to develop a mobile app with Cloud Firestore as backend. It's good until I realize need to implement FullTextSearch, and Firestore doesn't support it natively. Although they advise to use Algolia but at this time I'm not willing to pay for it.

Therefore, I'm thinking about using the built-in tool from Google Cloud. Since this app is online-only, the offline & sync are not a top priority, so how about use Google Cloud SQL? Or, do you recommend any stack for me? Thanks for your advice.

READ MORE
5 upvotes13.8K views
Replies (2)
Avatar of juliendefrance
Principal Software Engineer at Tophatter
Recommends
Algolia

In the early days, people would set up their own Elastic Search clusters and have troubles maintaining it, keeping it secure, also this required a lot of manual work to get the data in, keep it current, query it... etc. A couple of years ago AWS came up with AWS Elastic Search Service, which reduced some of this overhead. My previous teams and I went through all of these different stages, and ultimately, discovering Algolia a couple of years ago, solved so many of our issues, kept the cost low, reduced dramatically Implementation therefore GTM timelines, and freed up so much of our engineering bandwidth. They have SDKs for most common languages and platforms, and you can achieve a complete solution in just a matter of hours if not minute. Value your own/your team's engineering time. Factor that in when comparing costs. There should also be entry-level tiers you can get a proof of concept rolled out with.

READ MORE
How Algolia Works | Getting Started | Guide | Algolia Documentation (algolia.com)
7 upvotes237 views

Since SQL Databases have a support for Full Text Search inbuilt into them, they are a better choice. With Firestore you can implement a full text search but it will still cost more reads than it would have otherwise, and also you'll need to enter and index the data in a particular way, So in this approach you can use firebase cloud functions to tokenise and then hash your input text while choosing a linear hash function h(x) that satisfies the following - if x < y < z then h(x) < h (y) < h(z). For tokenisation you can choose some lightweight NLP Libraries in order to keep the cold start time of your function low that can strip unnecessary words from your sentence. Then you can run a query with less than and greater than operator in Firestore. While storing your data also, you'll have to make sure that you hash the text before storing it, and store the plain text also as if you change the plain text the hashed value will also change.

READ MORE
6 upvotes189 views

We are building a social media app, where users will post images, like their post, and make friends based on their interest. We are currently using Cloud Firestore and Firebase Realtime Database. We are looking for another database like Amazon DynamoDB; how much this decision can be efficient in terms of pricing and overhead?

READ MORE
5 upvotes24.1K views
Replies (1)
Avatar of williamfrank6774
Data Science and Engineering at GeistM

Hi, Akash,

I wouldn't make this decision without lots more information. Cloud Firestore has a much richer metamodel (document-oriented) than Dynamo (key-value), and Dynamo seems to be particularly restrictive. That is why it is so fast. There are many needs in most applications to get lightning access to the members of a set, one set at a time. Dynamo DB is a great choice. But, social media applications generally need to be able to make long traverses across a graph. While you can make almost any metamodel act like another one, with your own custom layers on top of it, or just by writing a lot more code, it's a long way around to do that with simple key-value sets. It's hard enough to traverse across networks of collections in a document-oriented database. So, if you are moving, I think a graph-oriented database like Amazon Neptune, or, if you might want built-in reasoning, Allegro or Ontotext, would take the least programming, which is where the most cost and bugs can be avoided. Also, managed systems are also less costly in terms of people's time and system errors. It's easier to measure the costs of managed systems, so they are often seen as more costly.

READ MORE
1 upvote15.3K views
Needs advice
on
React Native
React
and
Node.js

I'm researching what Technology Stack I should use to build my product (something like food delivery App) for Web, iOS, and Android Apps. Please advise which technologies you would recommend from a Scalability, Reliability, Cost, and Efficiency standpoint for a start-up. Here are the technologies I came up with, feel free to suggest any new technology even it's not in the list below.

For Mobile Apps -

  1. native languages like Swift for IOS and Java/Kotlin for Android
  2. or cross-platform languages like React Native for both IOS and Android Apps

For UI -

  1. React

For Back-End or APIs -

  1. Node.js
  2. PHP

For Database -

  1. PostgreSQL
  2. MySQL
  3. Cloud Firestore
  4. MariaDB

Thanks!

READ MORE
11 upvotes44.4K views
Replies (7)
Recommends
Flutter

My Recommendations: Front End: Flutter because of developer tooling and powerful declarative widget system Back End: Node.js or Go because Node.js has a large ecosystem and Go has a good built in http setup Database: Cloud Firestore because of ease of use, NoSQL, and the ability to set data from the client

READ MORE
13 upvotes2 comments8.2K views
Avatar of adzaria
FullStack Dev
Recommends
Node.js

If you go with react / react native I advice you to go with node. Why ? I first didn't believe coding in javaScript everywhere (back, front and db queries) was making life SO much more easy. I still followed the advice, in the end this is a huge relief. For a small startup project with 1/2/3 devs, using only one langage increases efficiency a lot. You can switch very fast from a topic to another.

READ MORE
8 upvotes6.5K views
View all (7)

I planned to do a project in Cloud Firestore, which will store about 100GB of data. Shall I go for Cloud Firestore or traditional AWS RDS MS-SQL SERVER with AWS Lambda? Please I need your suggestion.

READ MORE
3 upvotes1.3K views
Replies (1)
Avatar of WALL-E
CTO at ITBVision
Recommends
Cloud Firestore

Hi, It's depend of which type of data and interaction with database requires, I vote for Cloud firestore as NoSQL Db to store large or complex data. RDS is good for relational data with simple queries. Based on your application functionality you choose the stack. Hope, it helps.

READ MORE
2 upvotes35 views