Nat  Grady

Nat Grady

1670426049

Top Practices for Multi-Language Database Design

To implement multi-language support in your data model, you don’t need to reinvent the wheel. This article will show you the different ways to do it and help you choose the one that works best for you.

The concept of localization is vital to the development of a software application, particularly when that application’s scope is global. Support for multiple languages is the main aspect to consider; a database design that supports a multi-language application allows you to diversify your target markets and thus reach many more customers. Besides, such a database design could be part of your long-term STRATEGY FOR DESIGNING LOCALIZATION-READY SYSTEMS.

The key to incorporating multi-language support into your application is to do it in a way that doesn’t drastically increase development or maintenance costs. As DATABASE MODELING IS AN INSEPARABLE PART OF THE SOFTWARE DEVELOPMENT PROCESS, you need to think about the best data model design strategy to give your application multi-language support.

A proper data model should allow you to modify the application or add new functionality while maintaining multi-language support – without adding extra effort or cost. It should also allow you to incorporate new languages without touching the application; you only need to add the corresponding translation data to the database.

Simple Implementation vs. Flexibility and Functionality

There are different approaches to creating a database design for multi-language applications. Each has its advantages and disadvantages. Those that are easier to implement offer less flexibility and less functionality; those that offer more flexibility and functionality have more complex implementations.

My advice here is to always go for the ones that offer more functionality and flexibility, even if they are more expensive to implement. Sometimes we make the mistake of thinking that an application is too small, that it is not worth implementing complex schemas to solve things like multi-language support. But eventually, that application will grow and we’ll regret opting for the “quick and dirty” approach that seemed simpler and less expensive.

The ideal for implementing accessory functionality to an application – be it multi-language support, change logging, user authentication, or something else – is for that functionality to have its own subschema and its logic encapsulated in reusable components. This way, both the accessory functionality and its subschema can be incorporated into any new application with minimum effort.

An intelligent database design and data modeling tool like VERTABELO is a great help for the efficient management of your schemas and subschemas. Also, check out these TIPS FOR BETTER DATABASE DESIGN and make sure you follow all of them. Before you start drawing your ER diagram, I suggest you consider THIS ESSENTIAL SERIES OF DATABASE MODELING TIPS.

Some Appealing (But Unadvisable) Multi-Language Database Design Solutions

Easiest – But Least Recommended

Let’s start with the least recommended but easiest way to implement a multi-language application database. It allows you to quickly solve the need to support a multi-language application, but it will bring you problems when the application grows in functionality or in geographical coverage.

This simple strategy consists of adding an additional column for each column of text that needs translation and for each language into which the texts must be translated.

For example, in the Movies table below, there is an OriginalTitle field. An additional title column is added for each language to be translated:

MovieIdOriginalTitleTitle_spTitle_itTitle_fr
1Die HardDuro de matarTrappola di cristalloPiege de cristal
2Back to the FutureVolver al futuroRitorno al futuroRetour vers le futur
3Jurassic ParkParque jurásicoGiurassico parcoParc jurassique

The application must obtain the description data from the column corresponding to the language selected by the user. When you need to add a new language, you must add an additional column to the table to contain the texts translated to the new language. You must also adapt the application to acknowledge the added language and columns.

This solution does not require complicated JOINs to obtain the translated texts, nor does it require duplicated records – only the replication of text content columns. But its applicability is limited to situations where only a few tables need to be translated.

For example, suppose you have a Products table and a Processes table. Each of them has a Description field that needs translation; seems easy enough, right? But if the entire application (including all of its menu options, error messages, etc.) needs to be multi-lingual, this solution is inapplicable.

More Versatile, But Also Not Advisable

Continuing with the idea of keeping translations within the same table, an alternative to the previous option is to enlarge the text fields. This would allow us to store all translations in the same field, organizing them in a data structure (e.g. an XML document or a JSON object). Below we have an example:

MovieIdOriginalTitleTranslations
1Die Hard

[

{"language": "sp", "title": "Duro de matar"},

{"language": "it", "title": "Trappola di cristallo"},

{"language": "fr", "title": "Piège de cristal"}

]

2Back to the Future

[

{"language": "sp", "title": "Volver al futuro"},

{"language": "it", "title": "Ritorno al futuro"},

{"language": "fr", "title": "Retour vers le futur"}

]

3Jurassic Park

[

{"language": "sp", "title": "Parque jurásico"},

{"language": "it", "title": "Giurassico parco"},

{"language": "fr", "title": "Parc jurassique"}

]

This option does not require additional columns, but adds complexity. The data queries now must be able to correctly process and interpret the data structure used for multi-language support. For example, if JSON or XML is used to store translations, SQL queries must use an SQL version that supports the chosen data type.

The following SQL command uses the MS SQL Server OPENJSON() function to use the contents of the Translations field as a subordinated table:

SELECT m.MovieId, m.OriginalTitle, t.TranslatedTitle FROM Movies AS m CROSS APPLY OPENJSON(m.Translations) WITH ( language char(2) '$.language', TranslatedTitle varchar(100) '$.title’ ) AS t WHERE t.language = 'fr';

Since there are no functions or operators to manipulate JSON or XML formatted data in standard SQL, you are forced to write your queries for a particular RDBMS if you want to use this technique to store translated texts. For instance, the previous query is not supported by MySQL. If you need to read the JSON data in the Movies table with MySQL, you’d write this query:

SELECT m.MovieId, m.OriginalTitle, JSON_EXTRACT(m.Translations, '$.title') AS TranslatedTitle FROM Movies AS m WHERE JSON_EXTRACT(m.Translations. '$.language') = 'fr';

Storing Translated Text in Different Records

You can also choose to use different records for each language. However, you must resign yourself to losing normalization: the same data is repeated in several records, in which only the translation varies.

MovieIdLanguageIdTitle
1enDie Hard
1spDuro de matar
1itTrappola di cristallo
1frPiege de cristal
2enBack to the Future
2spVolver al futuro
2itRitorno al futuro

With this option, you could create views of each table that return only the rows in a given language:

CREATE VIEW Movies_en AS
SELECT MovieId, Title
FROM Movies
WHERE LanguageId = 'en';

CREATE VIEW Movies_sp as
SELECT MovieId, Title
FROM Movies
WHERE LanguageId = 'sp';

Then, to query the table, you could use a different view according to the target translation language. But the normalization of the model is lost and table maintenance is unnecessarily complex.

Storing Translated Text in Separate Tables

One way to store the translated texts without breaking the relational model is to have a details table for each table containing texts to be translated. The subordinate table containing the translations must have the same key fields as the mother table, plus a field indicating the translation language.

Best Practices for Multi-Language Database Design

A subordinate table with translations must have the same key fields as the mother table, plus a field indicating the translation language.

This option allows incorporating new languages without altering the table structure. It does not require generating redundant information or breaking the model normalization.

The drawback for this option is that it requires the creation of a subordinate table for each table that stores textual data requiring translation. However, the idea of storing translations in related tables brings us closer to the most advisable way of designing a multi-language database.

The Universal Solution: A Translation subschema

For an application and its database to be truly multi-lingual, all texts should have a translation in each supported language – not just the text data in a particular table. This is achieved with a translation subschema where all data with textual content that can reach the user’s eyes is stored.

In web applications intended for use in different languages, a translation subschema is a necessity, not an option. Anything else will lead to complexities that will make proper maintenance of the application impossible.

The key of keeping translations in a separate schema is to maintain an indexed catalog with all texts that need translation, whether they are entity descriptions, error messages, or menu options. The idea is that no text that can reach the user’s eyes is stored in any table outside this subschema.

One way to organize the translation catalog is to use three tables:

  • A master table of languages.
  • A table of texts in the original language.
  • A table of translated texts.

Best Practices for Multi-Language Database Design

Schema for a universal translation catalog.

In the master table of languages, we simply insert a record for each language supported by the data model. Each one has an ID code and a name:

LanguageIdLanguageName
enEnglish
spSpanish
itItalian
frFrench

The text table records all texts that require translation. Each record has an arbitrary ID, the original text, and the ID of the original language.

In the TextContent table, the original text and the ID of the original language are not strictly necessary. But they do simplify queries that do not require translation. For example, when doing statistical analysis or management control queries (which are usually only available to users who understand the original language) the queries can be simplified by using the default (non-translated) texts.

The orginal texts are also useful for those who have to fill the table of translated texts. Translation data entry can be done by means of a mini-application showing the original text and translations in all available languages. It is also possible to generate information for the translation subschema through an automatic process using a translation API.

Linking with the Main Schema

In the application’s main schema, columns with text values that need translating are replaced by IDs that point to the table of translated texts:

Original article source at: https://www.vertabelo.com/

#database #design 

What is GEEK

Buddha Community

Top Practices for Multi-Language Database Design

Top 5 UI/UX Designing Companies in USA

UI & UX designs are two of the common usually confused and conflated terms in a website and mobile app design.

Why Important UI/UX Design?

The UX/UI Design of the mobile app improves the user experience & customer satisfaction that ultimately helps improve the number of users of the specific application. The UI & UX Design helps to win the consumers’ confidence and make them use your application or website providing them what they are looking for.

The USA is the most extensive market of UI/UX Design. Have a look at the top 5 companies in the USA for UI/UX design.

1. AppClues Infotech

AppClues Infotech is one of the leading UI/UX design company in the USA that offers the best creative designing service. Their dedicated & creative designer uses powerful tools and elements that will help you to redesign your old stuff like Pro. As one of the top app design and development company in the US, they blend their knowledge and skill to deliver top-notch app design and development services.

2. WebClues Infotech

WebClues Infotech is a full-service UI/UX design and development company in the USA. The team of WebClues Infotech is most experienced in dynamic & creative designs. Their creative app design help in engaging customers in an effective way leading to higher ROI and exponential growth of your business.

3. AppClues Studio

AppClues Studio is the best UI/UX designing company with a highly experienced and creative design team. Their highly skilled designer creates a beautiful and interactive design that converts your visitor into repetitive customers by serving an enhanced user experience like never before.

4. WebClues Global

WebClues Global is a team of innovators, creators, and makers. They are masters of their fields who give visually interactive UI/UX designs with precise layout by using different technologies. They create beautiful experiences that transform the world around them by using design & technology.

5. Data Exim IT

Data Exim IT is an excellent company offering the best UI/UX Designing service. They have their strong in-house professional team who are experts in the field of UI/UX. They create simple, clean, and attractive mobile app designs for businesses.

Get in touch with above mentioned top UI/UX designing companies to make dynamic, creative and user-engaging mobile app designs.

Source Link - https://www.quora.com/Top-5-UI-UX-designing-Companies-in-The-USA/answer/Joseph-Petron-2?prompt_topic_bio=1

#top 5 ui/ux design agencies #top ux designers in the united states #top 5 best ux/ui design companies #mobile app development companies in usa #ui/ux designing companies in usa #top mobile app design companies in usa

Custom Mobile App Designing Service Companies in USA

Are you looking for the best custom mobile app designing companies in USA? From AppClues Infotech you will get top-notch UI/UX designing (Mobile App Designing) companies in USA that help to make an imaginative, user-engaging & elegant mobile app with modern technology.

For more info:
Website: https://www.appcluesinfotech.com/
Email: info@appcluesinfotech.com
Call: +1-978-309-9910

#custom mobile app designing companies in usa #top mobile app designing company in usa #best mobile app design & development company #top-notch mobile app designers in usa #top ui/ux designing companies in usa #hire top-notch ui/ux designer in usa

Ruth  Nabimanya

Ruth Nabimanya

1623169620

Multi-Region Database Deployments

Modern applications and services demand an always-on, low-latency experience for users no matter where they are on the planet. To meet these requirements, many deploy multiple instances of their applications and services across multiple cloud regions. This legacy approach leaves room for downtime and, even worse, inconsistencies in data. In this Refcard, we explore patterns and anti-patterns to multi-region database deployments — allowing your applications to survive a region failure without downtime while also ensuring consistent and low latency access to data no matter where you do business.

Table of Contents

► Introduction

► What Is a Multi-Region Application?

► Common Patterns and Anti-Patterns

► Final Thoughts

Section 1

Introduction

Deployed in the cloud, our modern applications and services demand an always-on, low latency experience for users no matter where they are on the planet. Whether you’re building a startup from the ground up or you are a member of a massive Fortune 500 development organization, these demands are typically the same.

To meet these requirements, many deploy multiple instances of their applications and services across multiple cloud regions. Some will deploy a database and synchronize it across multiple regions so that they can survive a regional outage as well. It’s not enough. This legacy approach leaves room for downtime and even worse, inconsistencies in data.

Deployment of an active-active database with multi-region capabilities that can be applied down to the table and row level of your data will allow you to not only survive a region failure without downtime, but also ensure consistent and low latency access to data no matter where you do business.

#database deployments #multi-region #multi-region application #multi-region database #multi-region database deployments #cross-​region

Adaline  Kulas

Adaline Kulas

1594162500

Multi-cloud Spending: 8 Tips To Lower Cost

A multi-cloud approach is nothing but leveraging two or more cloud platforms for meeting the various business requirements of an enterprise. The multi-cloud IT environment incorporates different clouds from multiple vendors and negates the dependence on a single public cloud service provider. Thus enterprises can choose specific services from multiple public clouds and reap the benefits of each.

Given its affordability and agility, most enterprises opt for a multi-cloud approach in cloud computing now. A 2018 survey on the public cloud services market points out that 81% of the respondents use services from two or more providers. Subsequently, the cloud computing services market has reported incredible growth in recent times. The worldwide public cloud services market is all set to reach $500 billion in the next four years, according to IDC.

By choosing multi-cloud solutions strategically, enterprises can optimize the benefits of cloud computing and aim for some key competitive advantages. They can avoid the lengthy and cumbersome processes involved in buying, installing and testing high-priced systems. The IaaS and PaaS solutions have become a windfall for the enterprise’s budget as it does not incur huge up-front capital expenditure.

However, cost optimization is still a challenge while facilitating a multi-cloud environment and a large number of enterprises end up overpaying with or without realizing it. The below-mentioned tips would help you ensure the money is spent wisely on cloud computing services.

  • Deactivate underused or unattached resources

Most organizations tend to get wrong with simple things which turn out to be the root cause for needless spending and resource wastage. The first step to cost optimization in your cloud strategy is to identify underutilized resources that you have been paying for.

Enterprises often continue to pay for resources that have been purchased earlier but are no longer useful. Identifying such unused and unattached resources and deactivating it on a regular basis brings you one step closer to cost optimization. If needed, you can deploy automated cloud management tools that are largely helpful in providing the analytics needed to optimize the cloud spending and cut costs on an ongoing basis.

  • Figure out idle instances

Another key cost optimization strategy is to identify the idle computing instances and consolidate them into fewer instances. An idle computing instance may require a CPU utilization level of 1-5%, but you may be billed by the service provider for 100% for the same instance.

Every enterprise will have such non-production instances that constitute unnecessary storage space and lead to overpaying. Re-evaluating your resource allocations regularly and removing unnecessary storage may help you save money significantly. Resource allocation is not only a matter of CPU and memory but also it is linked to the storage, network, and various other factors.

  • Deploy monitoring mechanisms

The key to efficient cost reduction in cloud computing technology lies in proactive monitoring. A comprehensive view of the cloud usage helps enterprises to monitor and minimize unnecessary spending. You can make use of various mechanisms for monitoring computing demand.

For instance, you can use a heatmap to understand the highs and lows in computing visually. This heat map indicates the start and stop times which in turn lead to reduced costs. You can also deploy automated tools that help organizations to schedule instances to start and stop. By following a heatmap, you can understand whether it is safe to shut down servers on holidays or weekends.

#cloud computing services #all #hybrid cloud #cloud #multi-cloud strategy #cloud spend #multi-cloud spending #multi cloud adoption #why multi cloud #multi cloud trends #multi cloud companies #multi cloud research #multi cloud market

Ajay Kapoor

1626951325

Top Web Design Company in India | Website Design Firm

Our award-winning website designing company India gives your web application an interactive design, user-friendly interface, motion graphics, and visual aspect that perfectly matches your brand image. We have 16+ years of domain expertise and have completed 16800+ projects successfully with 7800+ happy clients worldwide.

Decided to outsource web design services in India, we are a one-stop solution for you!

We are one of the leading website designing companies in India being trusted by thousands of businesses across the globe. Our custom web design company offers affordable and creative website design services to startups, SMEs, and enterprises. Our web designers in India have been consistently producing innovative & eye-catchy designs.

Excited to Get a Beautiful Website?
Our top website designing company introduces your business online with a well-designed, SEO optimized, and 100% responsive website. With over 16+ years of experience, we have learned the art of delivering great UI & UX Design Services. Do you want to discuss your web designing project with us? Contact us!

#best website design company #top website designing company #website designing companies in india #website design company in india #website design services india #website design company india