![]() ![]() When writing code, it is best practice to always try to ensure that you are not tightly coupled to any dependency, including the chosen database technology. Code structureĪs digital transformation specialists, we are well aware of the challenges that can arise when writing code that is reliant on a specific technology. Here are some challenges and consideration we faced moving our Authinity (cloud self service identity management) application from mgo to the official MongoDB Go driver. we have a newly released product ( Authinity) with a small but friendly user base, which provides the perfect environment for trying something new.we love being at the cutting edge of technology whenever possible.as a MongoDB Partner, adopting early and feeding back to MongoDB will help discovery and maturity of the driver.for both new and existing systems, we want to ensure we are not using any library that may be approaching end-of-life this helps us avoid any potential maintainability and/or security issues in the future.We have decided to switchover sooner rather than later for some important reasons: However, it is worth considering and planning for your transition to the official driver, including determining the effort that will be required for you to do so. You shouldn’t be worried if your project is still using mgo at the moment - there will be many projects in this position. You can read more on MongoDB’s decision to build their own official driver in their own blog post here.Īs more time passes, we expect a shift to the official mongo-go-driver that is likely to leave mgo even more dormant and unmaintained - perhaps stuck in the past. In addition, you can have much confidence in the stability and integrity of the official driver from MongoDB, written and maintained by the people who know the most about the technology, and joining their ever growing list of drivers they have developed and maintain. Inevitably, the development of any unofficial, community driven library will be slow to react to new server functionality introduced by MongoDB - whereas an official one will be developed in tandem with new server functionality. Furthermore, MongoDB produced a specification for features of MongoDB drivers in 2015, which mgo does not meet, making it somewhat inconsistent with MongoDB’s official drivers for other languages. ![]() This is still maintained with bug fixes and minor changes, but no significant additional development has taken place since it was forked. A couple of forks have appeared since then - the most popular of which being globalsign/mgo. The original developer of mgo formally paused working on it in early 2018 and since then that repository has been dormant. It is very much suitable for production use in commercial environments and has worked flawlessly for us in Authinity to date. mgo has good godocs and community support, and is widely adopted. For a community maintained project, it does a very good job of providing necessary reliability and functionality for both small and large projects that wish to use MongoDB and Go. Prior to mongo-go, mgo was somewhat the only choice when it comes to MongoDB in Go - but it does not disappoint. Mgo is an open source library for working with MongoDB databases in Go that has been around since 2011. For more information on Authinity, please visit. Authinity is used for authentication in our own internal suite and currently available to all to try for free. We decided to build Authinity when we discovered that no existing off-the-shelf product or service seemed to satisfy our clients’ needs for always up-to-date, best practice security coupled with flexible policies to meet their own compliance requirements. What is Authinity?Īuthinity is a modern identity management service built by Avco Systems. It usually handles the underlying connection pool and will handle all communication with the database server in the required protocol. What is a database driver?Ī database driver is an adapter, usually in the form of a software library or program, that provides an interface to allow you to easily connect to a database. How easy is it to migrate existing large data(base) projects? How does it compare to the de-facto standard - mgo? We take an in depth look by taking you through one of our recent data migration projects Authinity, our identity management service. As a MongoDB Partner, we were excited when late last year MongoDB released their own driver in alpha for Google’s Go programming language. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |