This depends on what you are trying to achieve. It may vary depending upon your performance evaluation criteria. The book recommended by Prof Emil is a good source to have comprehensive understanding of various beamforming/precoding techniques.
Another critical resource is the book by Prof T Marzetta, Fundamentals of Massive MIMO.
Hi Henok, If you don't care about hardware complexity or power consumption and your objective is maximizing the spectral efficiency without practical limitations, then in this case, the best solution is to apply digital precoding (RF chain and DAC are needed per antenna). In this case the best schemes are M-MMSE or RZF as Emil mentioned. However, if you consider some practical limitations such as the transmit array size, then in this case you have to move to higher frequency bands (mmWaves) to realize the massive number of antenna elements. In this case you can't apply digital precoding directly to massive MIMO due to high hardware cost and high power consumption, but you can still apply hybrid precoding schemes to achieve considerably high spectral efficiency and comparable values to that achieved by fully digital precoding with much lower hardware complexity and power consumption.
You can read this paper for a quick intro about hybrid precoding: "
Hybrid Beamforming for Massive MIMO: A Survey":Article Hybrid Beamforming for Massive MIMO - A Survey